2011-02-07 12 views
0

私は、パス探索などのジョブにマルチスレッドを使用するポータブル(LinuxとWindowsのような)C/C++プログラムを開発中です。ワーカースレッドプールとジョブキューなどの移植可能なライブラリ

スレッドプールへのタスクの割り当てを処理するための堅牢なライブラリはありますか?好ましくは、ロックフリーの構造と作業盗みなどの最先端のアイデアがあります。あるいは、私は本当にpthreadやスレッドライブラリから始めて、ジョブキューイングなどを実装しなければなりませんか?

答えて

1

インテルのtbbを調べてください。私は自分のタスクグループを使っていませんが、何か良いものが見つからなければ良い出発点になるかもしれません。

1

独自のスレッディングを行う場合は、Boost.Threadを使用してください。

スレッドプールとタスクキューイングに関しては、私はBoost.Asioが見るべき良いライブラリだと思います。最先端のものを使用せず、ほとんどの機能を提供していないかもしれませんが、ポータブルで堅牢でロックフリーです(私は思っています)。これは非同期IOのためのものですが、基本的にタスクを非同期メッセージハンドラと考えることができます。

TBBも良い選択ですが、コンピュータゲームにとってはちょっとした過ちかもしれません(真の並列コンピューティングに向けて作られています)。

関連する問題