PV0OpenCVと仮想COMポートを使う上で複数のスレッドが必要となったのですが、マルチスレッドを使う上で様々なライブラリがあってどれを使うべきなのか悩んでます。現在検討しているのはOpneMPとmsのデフォルトのマルチスレッドの3つです。IDEはVS2010Professionalです。別に自分が挙げてる3つ以外でも大丈夫です。Library)が標準搭載されていますから、これを使えばmsdnを情報源にそれほど困らずにマルチスレッドのソフトウェア開発を進められるでしょう。Block)もPPLと同様(というか高機能)な定番のライブラリーでCodeZineにεπιさんの日本語の解説記事などもあるので取っ付き易いかもしれません。http://threadingbuildingblocks.org/http://codezine.jp/article/detail/5186他の選択肢としてBoostを用いれば移植性も向上しますし、boostjpの日本語の逆引き記事などを参考にすれば基本的な部分で弄せずに済みます。3.1などC++最新規格であるC++11が使用可能な環境を選択できる場合はC++言語の標準ライブラリーに<thread>や<mutex>などマルチスレッド用のライブラリーが使用可能です。<thread>標準ライブラリー等についての概要はcpprefjpからも参考情報が得られます。http://www.microsoft.com/visualstudio/11/ja-jp/downloadshttps://sites.google.com/site/cpprefjp/reference/threadOpenMPは多数のデータ群の計算処理を簡単に並列化する様なデータ並列の用途では検討しても良いかもしれませんが、単一の計算機でIO処理(仮想COMポートとの事から推測)と他のCVやAR等のCG処理(OpenCVとの事から推測)をOSのネイティブスレッドレベルで分離する用途には適さないかもしれません。要求される移植性、要求に対して必要となるライブラリー側の比較的高度な機能の対応、連携が必要な処理系など考慮して選ぶと良いと思います。PPLでもTBBでもBoostでもC++11標準ライブラリーでも基本的なタスク並列やmutexによるロックなどで困る事はありません。(2)丁寧な解説ありがとうございます。OpenCVでの画像処理の演算部のマルチスレッド化と仮想COMポートのマルチスレッド化に別々のライブラリを使用することで高速化は計れるのでしょうか?環境に関しましてはVS2010でほぼ確定です。22:13一般論として1つのプログラムの内部であれば同じライブラリーを使った方がマシンコードのサイズも実行速度も最適化の恩恵が大きくなります。TBBを有力な候補として検討してみるのも良いと思います。TBBを使おうと思います。ありがとうございました。09:35ウォッチこの質問への回答やコメントをメールでお知らせします。