Intel Threading Building Blocks — библиотека разработки параллельных программ для систем с общей памятью. Она, как и все подобные библиотеки, предназначены для упрощения разработки параллельных программ за счёт скрытия низкоуровневой работы с потоками. Эта библиотека написана на на языке C++ (содержит в своей реализации классы и шаблоны), поэтому использовать её можно только при программировании на соответствующем языке..
Для сборки приложений, использующих Intel Threading Building Blocks, необходимо установить пакет, содержащий требуемые библиотеки, а для запуска приложений под операционной системой семейства Microsoft Windows достаточно иметь динамическую библиотеку, входящую в состав того же пакета.
Библиотека Intel Threading Building Blocks является межплатформенной, т.е. код, написанный с использованием этой библиотеки, будет совместим между всеми платформами, под которые существуют реализация. На момент написания статьи существуют реализации библиотеки под операционные системы: Microsoft Windows, Linux, Mac OS.
Библиотека Intel Threading Building Blocks является свободно распространяющейся при использовании для не коммерческих целей. Более подробную информацию о библиотеке можно получить по следующей ссылке: http://www.intel.com/software/products/tbb/
В состав библиотеки Intel Threading Building Blocks входит набор классов и функций для следующих целей:
- распараллеливание циклов с известным числом повторений;
- распараллеливание циклов с известным числом повторений с редукцией;
- распараллеливание циклов с предусловием;
Также в состав библиотеки входят:
- потокобезопасные контейнеры (эти контейнеры аналогичны контейнерам STL, за исключением того, что накладных расходов при работе с ними в параллельных приложениях меньше, чем при использовании стандартных контейнеров STL);
- средства распределения памяти специального вида;
- примитивы синхронизации.