17

ブーストのスレッドを使用してスレッドプールを作成することは可能ですか? ブーストのライブラリ全体を見ていましたが、スレッドプールマネージャー (またはそのようなもの) が見つかりませんでした...それを行う方法はありますか?

tnx!

4

2 に答える 2

36

答えが受け入れられていることは知っています。今すぐこれが必要で、独自のスレッドプールを書くのが面倒な場合は、boost asio io_service を同時実行のヒント (つまり、実行する必要があるスレッドの数) とともに使用してみてください。次に、この io_service に post() のものを...単なるアイデアです..

于 2010-11-03T08:49:40.247 に答える
9

ブーストには非公式の (まだ)スレッドプールがあります。しかし、優れた汎用性が主要な目標でない場合は特に、自分で実装することは問題ではありません。アイデア: スレッドプールは、TaskType タイプとワーカー数でパラメーター化できます。TP には、TaskType を受け取るハンドラ関数を指定する必要があります。TP には、追加されたタスクのキューが含まれています。実際のスレッド関数は、キューからタスクを取得し、渡されたハンドラーを呼び出すだけです。そんな感じ。

于 2010-11-03T06:57:47.403 に答える