スレッド

インテル® スレッディング・ビルディング・ブロック (インテル® TBB) は、C++11 Working Draft N3000 に基づく、プラットフォームのネイティブスレッドのラッパーを提供します。 これらのラッパーを使用する利点は 2 つあります。

「名前空間」セクションで説明したように、ライブラリーは、tbb 名前空間ではなく std 名前空間にラッパーを定義します。

N3000 と大幅に異なる点を次の表に示します。

N3000 とインテル® TBB スレッドクラスの違い

N3000

インテル® TBB

template<class Rep, class Period> std::this_thread::sleep_for(

const chrono::duration<Rep, Period>& rel_time)

std::this_thread::sleep_for( tick_count::interval_t )

rvalue 参照パラメーター

パラメーターはプレーン値に変更、または関数を削除。

std::thread のコンストラクターの引数の数は任意。

std::thread のコンストラクターの引数の数は 0-3。

ほかの変更点は、現在の C++ 標準規格またはインテル® TBB との互換性に関連しています。 例えば、引数の数が任意のコンストラクターには、C++11 の variadic テンプレート機能が必要です。

警告

スレッドはほとんどのシステムにとって重い処理であり、システムで非常に多くのスレッドを実行すると、パフォーマンスが大幅に低下します。 実用性を重視する場合は、代わりにタスクベースのソリューションを使用することを検討してください。

関連情報