Различные шаблоны предназначены для разных типов применения.
Класс задач: когда параллельные задания, которые вы хотите выполнить, не зависят друг от друга и порядок выполнения не имеет значения.Рабочие места могут быть нерегулярного размера.Например, производство автомобилей.Не имеет значения, какие детали (шина, двигатель, двери и т. Д.) Производятся в каком порядке.Вы заботитесь только о том, чтобы автомобиль был изготовлен в конце, и вы делаете его параллельно, чтобы завершить его как можно быстрее.
Параллельный класс: Этот тип предназначен для задач, которые являются независимыми и похожими, но задачипочти равного размера.Например: простой цикл for, где итерации независимы.
Класс Threadpool: это в некоторой степени комбинация двух вышеупомянутых, за исключением того, что между потоками может существовать определенный уровень зависимостей, которыми может управлять разработчик (например, путем выполнения потоков в некотором порядке ИЛИ выполнения на основе потоковна результаты / условия, полученные из других потоков и т. д.).
Обратите внимание, что выбор параллельного шаблона не является исключительно вашим!В большинстве случаев один вынужден выбирать одно или другое в зависимости от типа приложения, которое внедряется.