15

マルチスレッドの C++ アプリケーションを作成する C++ (C# 出身) は初めてで、どちらを使用するのが良いのか疑問に思っていstd::threadます。

別のスタック オーバーフローの投稿で次の議論を見ましたが、どちらかを選択する必要がある理由の全体像はまだわかりません。新しいプログラムを開始しない場合、標準ライブラリまたは Boost スレッドを使用する必要がありますか?

ありがとう!

4

3 に答える 3

17

プロジェクトでブーストをまだ使用していない場合、std::thread を優先してboost::thread を使用する理由はありません。これは、STL で利用できないブーストの機能を使用していない限りです。std::thread はほとんどのユースケースに十分に適しています。説得力のある引数が提示されない限り、標準コードを記述することが常に望ましいです。

ただし、プロジェクトですでにブーストを使用している場合は、boost::thread が std::thread と比較して追加の機能を提供するかどうかを確認してください。

于 2012-09-11T08:04:28.340 に答える
3

Boost.Threadはポータブルライブラリであり、std :: threadが使用できないものも含め、さまざまなプラットフォーム/コンパイラでコンパイルされることに注意してください。

于 2012-09-11T09:29:39.550 に答える
0

それは本当にあなたの習慣と好みに依存します..ブーストを使用すると、生活を楽にするライブラリのセット全体が得られますが、プログラムがコンパイルされているシステムにインストールする必要がありますが、stdスレッドでは必要なのはcppだけです.コンパイラ。

于 2012-09-11T08:05:08.540 に答える