Scalable Memory Pools

Scalable Memory Pools#

Note

To enable this feature, set the TBB_PREVIEW_MEMORY_POOL macro to 1.

Memory pools allocate and free memory from a specified region or an underlying allocator using thread-safe, scalable operations. The following table summarizes the Memory Pool named requirement. Here, P represents an instance of the memory pool class.

Pseudo-Signature

Semantics

~P() throw();

Destructor. Frees all the allocated memory.

void P::recycle();

Frees all the allocated memory.

void* P::malloc(size_t n);

Returns a pointer to n bytes allocated from the memory pool.

void P::free(void* ptr);

Frees the memory object specified via ptr pointer.

void* P::realloc(void* ptr, size_t n);

Reallocates the memory object pointed by ptr to n bytes.

Model Types

The memory_pool template class and the fixed_pool class meet the Memory Pool named requirement.