以下の投稿に示すように、IO 完了ポートに関連付けられたスレッド プールを使用して、サーバー アプリケーションでワーカー タスクを実行するためのモデルを作成しました。
http://blogs.msdn.com/larryosterman/archive/2004/03/29/101329.aspx
このプログラミング モデルに役立つブーストのクラスはありますか?
以下の投稿に示すように、IO 完了ポートに関連付けられたスレッド プールを使用して、サーバー アプリケーションでワーカー タスクを実行するためのモデルを作成しました。
http://blogs.msdn.com/larryosterman/archive/2004/03/29/101329.aspx
このプログラミング モデルに役立つブーストのクラスはありますか?
IO完了ポートを使用するときに最終的になりがちな構造に役立つブーストは見たことがありませんが、最近は見ていません...ただし、少し話題から外れているので、私の無料のIOCPサーバーフレームワークの一部であるIOCPベースのスレッドプールを見てください。他に何もないとしても、それはあなたにいくつかのアイデアを与えるかもしれません。ここでコードを見つけることができます。スレッドプールは、需要に基づいた拡張と縮小をサポートし、6年以上にわたって本番システムで使用されています。
ブーストの上に素晴らしいスレッドプールの実装のように見えるスレッドプールプロジェクトをチェックアウトすることをお勧めします。私は自分で試したことはありませんが、かなりいいようです。
少なくとも、最後に見たときはそうではありませんでした。つまり、boost::thread_group は場所によっては物事をわずかに整理するかもしれませんが、それほど大きな違いはないと思います。
Boost のスレッド サポートは、クロスプラットフォームのものを作成する場合にわずかに役立つように見えますが、とにかく (IOCP の使用により) Win32 固有のものを作成することを考えると、それによるメリットはあまりないようです。 .
ACEには、IOCPの周りのものをモデル化するために使用できるいくつかのリアクターがあります。これらのいくつかはブーストするために追加された可能性がありますが、ブーストによりそれらの構築は非常に簡単になります。