use std::atomic to protect heap creation
use static variable instead of std::atomic
use mmap_allocator and std::vector for memory management
Concurency improvments