趣味でマルチスレッド コードを書いていると、次のような状況に陥りました。
スレッドは、メモリ プールから単一のリソース ユニットを要求し、それを処理して、このデータへのポインターを別のスレッドに送信し、循環バッファーを使用してさらに操作を行います (1R / 1W の場合)。
後者は、受信したデータの処理が完了するたびに前者のスレッドに通知する必要があるため、メモリを再利用できます。
この「フリーリスト」を別の循環バッファーとして実装し、空きリソースのアドレスを保持するか、ロックフリースタックの方法 (x86-64 で DCAS を実装する) を選択する方がパフォーマンス的に優れているかどうか疑問に思います。
一般的に言えば、2 つの異なるアプローチの長所と短所は何でしょうか?