Русская Википедия: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 для планирования и управления ресурсами и предоставляет общие, безопасные типы алгоритмов и контейнеры для использования в параллельных приложениях.
Примечания