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

 

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

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

// 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培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

使用 Visual Studio 命令行工具編譯

cl /EHsc final_answer.cpp

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

延伸閱讀

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