Intel Threading Building Blocks

インテル スレッディング・ビルディング・ブロック (Intel® Threading Building Blocks, TBB) は、インテルが公開しているマルチスレッド対応のC++テンプレートライブラリである。マルチCPU・マルチコアCPUなどを搭載したコンピュータ上でアプリケーションを効率よく動作させることができる。
商用版とオープンソースソフトウェア版（Apache License 2.0）があり、オープンソース版は無償でダウンロードが可能である。
様々なプラットフォーム上で動作する（クロスプラットフォーム）。
概要.
マルチCPU・マルチコアCPUを搭載したコンピュータ上でCPUリソースを効率よく利用することが目的であり、シングルCPU・シングルコアCPUでは性能向上は期待できない（スレッド切り替えのオーバーヘッドで逆にパフォーマンスが低下する可能性もある）。
動作するオペレーティングシステム (OS) はWindows、Linux、macOS、Androidであり、それぞれのOSで実行させるために必要な外部ライブラリが別途提供される。ただしFreeBSDに対してもコミュニティの有志によって対応が行われており、過去にはSolarisへの対応も行われていた。
TBBバージョン2018 Update 4のリリースノートには、サポート環境に関して以下のように記載されている。
リリースノートで必要条件とされているシステムよりグレードの低いシステムでTBBを実行した結果については特に明示されていないが、。
ライブラリの構成は
この内、タスクスケジューラおよびアロケータはTBBをサポートするクラスなので一般に開発者が使うことは少ない。
並列処理アルゴリズムはタスクスケジューラによって処理を分割してリソースに割り当てる。その為、コンテナやミューテックスなどを利用するときはタスクスケジューラの初期化は不要である。
また細分化する際の目安となるグレインサイズをプログラマが指定することも、TBBのランタイムライブラリが自動的に設定するようにすることも可能である。