Русская Википедия:Parallel Patterns Library
Parallel Patterns Library (Шаблон:Lang-ru) — это библиотека Microsoft, разработанная для использования разработчиками на C++, которая предоставляет функции для многоядерного программирования[1][2]. Она поддерживается с Visual Studio 2010, и аналогична по назначению Intel Threading Building Blocks[3]. По стилю эта библиотека напоминает стандартную библиотеку C++ и хорошо сочетается с новыми возможностями стандарта C++ 11, также реализованными в Visual Studio 2010.
Например, этот последовательный цикл:
for (int x=0; x < width; ++x) { //Something parallelizable }
Может быть превращён параллельный цикл, путём замены for
на parallel_for
:
#include <ppl.h> // . . . Concurrency::parallel_for (0, width, [=](int x) { //Something parallelizable });
код подразумевает, что цикл распараллелен, но вся остальная работа выполняется библиотекой.
MSDN[4] описывает библиотеку Parallel Patterns как «императивную модель программирования, которая способствует масштабируемости и простоте использования для разработки параллельных приложений». Он использует Concurrency Runtime для планирования и управления ресурсами и предоставляет общие, безопасные типы алгоритмов и контейнеры для использования в параллельных приложениях.
Примечания