一、PPL是微软Visual C++ 2010中提供的一个简化多线程应用程序开发的编程模型。PPL建立在并发运行时的调度和资源管理组件之上。它在代码与底层线程机制之间插入了一层抽象层,提供支持并发的泛化、类型安全的算法和并行容器。
PPL支持如下特性:
1、并行算法:并行作用于一组数据的泛化算法
2、并行任务:一个可并行执行几个工作单位的机制
3、并行容器和对象:可安全的并发存取其元素的泛化的容器
二、并行的几种算法:
1、parallel_for算法
其对常用的for循环语句进行并行化。
// 1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <ppl.h>
#include <time.h>
using namespace std;
using namespace Concurrency;
int _tmain(int argc, _TCHAR* argv[])
{
int a[10];
for (int i = 0; i < 10; ++i)
{
a[i] = i;
}
//标准for循环
clock_t start1 = clock();
for (int j = 0; j < 10; ++j)
{
cout<<a[j]<<endl;
}
clock_t end1 = clock();
cout<<"所需时间为:"<<end1-start1<<"毫秒&