boost::asio::io_service
基本的なスレッドプールとして使用しています。一部のスレッドがio_serviceに追加され、メインスレッドがハンドラーの投稿を開始し、ワーカースレッドがハンドラーの実行を開始し、すべてが終了します。ここまでは順調ですね; シングルスレッドコードよりも高速化されています。
ただし、メインスレッドには何百万もの投稿があります。そして、ワーカースレッドが処理できるよりもはるかに高速に、それらを投稿し続けます。私はRAMの制限に達していませんが、それでも多くのことをキューに入れるのはちょっとばかげています。私がやりたいのは、ハンドラーキューのサイズを固定し、キューがいっぱいの場合はpost()ブロックを設定することです。
BoostASIOドキュメントにこれに関するオプションはありません。これは可能ですか?