自 VS2010 起,微軟就在 CRT 中集成了并發(fā)運行時(Concurrency Runtime),并行模式庫(PPL,Parallel Patterns Library)是其中的一個重要組成部分。7 年過去了,似乎大家都不怎么Care這個事情,相關(guān)文章少少且多是蜻蜓點水。實際上這個庫的設(shè)計相當精彩,勝過 C++ 標準庫中 future/promise/async 系列許多,所以計劃寫一個系列探討 PPL 在實際項目中應用中的各種細節(jié)。

 

好了,從最簡單的代碼開始,先演示下如何使用 task 類和 lambda 表達式創(chuàng)建一個并行任務(wù):

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

// 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;
}

iOS培訓,Swift培訓,蘋果開發(fā)培訓,移動開發(fā)培訓

使用 Visual Studio 命令行工具編譯

cl /EHsc final_answer.cpp

執(zhí)行結(jié)果為:

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓學習是年輕人改變自己的最好方式