フリーリストは、既に割り当てられている既存のメモリを再利用することにより、割り当てを高速化する一般的な方法です。割り当てごとにロックのオーバーヘッドを発生させずに、同時アロケーターでフリーリストを使用する方法はありますか?
2 に答える
1
ロックフリー リンク リストを使用します。
于 2010-01-15T17:55:58.433 に答える
0
スレッド固有の空きリスト チャンクを持つことができます。
基本的に、空きリストを作成するシステムがあります (ガベージ コレクターなど)。次に、各スレッドは、少数のエントリを含む独自の空きリスト チャンクを持つことができます。ロックは、新しいチャンクを割り当てるために使用されます。30 エントリのチャンクでは、30 割り当てごとに 1 回だけロックします。逆に、スレッド固有のチャンクでは、GC をより早く実行する必要がある場合があります。これは、スレッド固有のチャンクの一部にまだ空きエントリがある場合でも、共有リストが空になる可能性があるためです。
于 2010-01-22T17:10:06.203 に答える