0

boost::threadクラスを使用してスレッドプールを実装したい。

以下の行を使用してスレッドを作成できます。

boost::thread Consumer_1(consume); 

whereconsumer_1はスレッドであり、consume はそれにバインドされた関数です。

上記のステートメントは、実行されるとすぐにスレッドを開始します。

ここで、スレッドを作成してバインディング ランタイムを実行したいだけです。

boostこのバインディングを遅らせる方法はまだ発見していません。

誰でもこれについて助けることができますか?

4

1 に答える 1

1

バインディングは後で行うことはできません。主な理由から、実行スレッドは何かを実行している必要があります。

必要なのは、 として表されるジョブをboost::functionキューから取得して実行する関数を作成することです。この関数を 1 つ以上のスレッドで実行するよりも。

スレッドセーフなキューがあるかどうかはわかりませんが、スレッドを起動したり両端キューをロックしたりするために、いつでも通常のstd::dequewithを使用できます。boost::condition_variableboost::mutex

Boost.Asioも参照してください。こちらもご覧ください

于 2013-08-23T06:58:49.340 に答える