スケーラブル・メモリー・プール

スケーラブル・メモリー・プール#

この機能を有効にするには、TBB_PREVIEW_MEMORY_POOL マクロを 1 に定義します。

メモリプールは、スレッドセーフでスケーラブルな操作を使用して、指定された領域または基礎となるアロケーターからメモリーを割り当てたり解放したりします。次の表は、メモリープールの名前付き要件をまとめたものです。ここで、P はメモリー・プール・クラスのインスタンスを表します。

擬似署名

セマンティクス

~P() throw();

デストラクター。割り当てられたメモリーをすべて解放します。

void P::recycle();

割り当てられたメモリーをすべて解放します。

void* P::malloc(size_t n);

メモリープールから割り当てられた n バイトの領域へのポインターを返します。

void P::free(void* ptr);

ptr ポインターを介して指定されたメモリー・オブジェクトを解放します。

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

ptr が指すメモリー・オブジェクトに n バイトを再割り当てします。

モデルタイプ

memory_pool テンプレート・クラスと fixed_pool クラスは、メモリープールという名前の要件を満たしています。