自 VS2010 起,微软就在 CRT 中集成了并发运行时(Concurrency Runtime),并行模式库(PPL,Parallel Patterns Library)是其中的一个重要组成部分。7 年过去了,似乎大家都不怎么Care这个事情,相关文章少少且多是蜻蜓点水。实际上这个库的设计相当精彩,胜过 C++ 标准库中 future/promise/async 系列许多,所以计划写一个系列探讨 PPL 在实际项目中应用中的各种细节。
好了,从最简单的代码开始,先演示下如何使用 task 类和 lambda 表达式创建一个并行任务:
// final_answer.cpp// compile with: /EHsc #include <ppltasks.h>#include <iostream>using namespace concurrency;using namespace std;int main(int argc, char *argv[]) { task<int> final_answer([] { return 42; }); cout << "The final answer is: " << final_answer.get() << endl; return 0; }
使用 Visual Studio 命令行工具编译
cl /EHsc final_answer.cpp
执行结果为:
延伸阅读
学习是年轻人改变自己的最好方式
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26