私はJavaコードをC++に移植する過程にあり、ある特定のセクションではBlockingQueueを使用して、多くのプロデューサから単一のコンシューマにメッセージを渡しています。C++ JavaのBlockingQueueに相当する
Java BlockingQueueに精通していない場合は、キューからput()およびtake()するスレッドセーフメソッドを公開するハード容量のキューに過ぎません。キューが満杯の場合はブロックをput()し、キューが空の場合はブロックをtake()します。また、これらのメソッドのタイムアウト対応バージョンも提供されています。
タイムアウトは私のユースケースに関連しているため、それらを提供する推奨が理想的です。もしそうでなければ、私は自分自身をコード化することができます。
私はグーグルでブーストライブラリをすばやく閲覧しましたが、このようなものは見つかりませんでした。多分私はここで目が見えません...しかし、誰も良い推薦を知っていますか?
ありがとうございます!
配列を持つハンドメイドクラス(pop_front push_backを簡単にするために配列の代わりにdequeを使うかもしれない)とmutex? – NoSenseEtAl
本当に必要なハード容量ですか? –
私の場合、はい。生産者が消費者を上回る可能性は非常に高いですし、生産者側のスレッドをブロックする必要があります。そうでなければ、入力が拒否されます。 – Ben