プッシュ操作用に最適化された、スレッドセーフな C/C++ キューの実装を探しています。ポップ操作がブロックされてもかまいませんが、プッシュ側でブロックされることはありません。
理由を説明しましょう。C# アプリケーション用のプロファイラーを作成する予定で、複数のスレッドが単一のディスパッチャー スレッドにメッセージをプッシュします。ディスパッチャがすぐにブロックされても構いませんが、プッシュ側での遅延は避けたいと思います。
プッシュ操作用に最適化された、スレッドセーフな C/C++ キューの実装を探しています。ポップ操作がブロックされてもかまいませんが、プッシュ側でブロックされることはありません。
理由を説明しましょう。C# アプリケーション用のプロファイラーを作成する予定で、複数のスレッドが単一のディスパッチャー スレッドにメッセージをプッシュします。ディスパッチャがすぐにブロックされても構いませんが、プッシュ側での遅延は避けたいと思います。
boost.lockfreeを使用できます。これはブーストサンドボックスsvnにあり、boost.atomicが時間内にリリースされるかどうかに応じて、バージョン1.53または1.54のブーストでリリースされる予定です。今のところ、boost.lockfreeはboost.atomicではなくstd :: atomicに依存しているため、それを使用するにはc+11コンパイラが必要です。