《我的都一本c++书》学习笔记:PPL之多线程

本文是《我的C++书》学习笔记,重点介绍PPL(Parallel Patterns Library)在Visual C++ 2010中的应用。PPL提供了并行算法、任务和并行容器,用于简化多线程编程。并行算法如`parallel_for`、`parallel_invoke`等,能有效提升代码执行效率。
摘要由CSDN通过智能技术生成

一、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<<"毫秒&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值