中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中怎么實現異步操作

發布時間:2021-07-15 11:46:21 來源:億速云 閱讀:198 作者:Leah 欄目:編程語言

C++中怎么實現異步操作,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

實現(代碼)

#include <iostream> #include <vector> #include <algorithm> #include <future>  template <typename RAIter> int parallel_sum(RAIter front, RAIter beg, RAIter end) {     auto len = end - beg;     if (len < 1000)     {         char out[50];         sprintf(out, "Calculate from %d to %d\n", beg - front, end - front);         std::cout << out;         return std::accumulate(beg, end, 0);     }      RAIter mid = beg + len / 2;     auto handle_right = std::async(std::launch::async,                              parallel_sum<RAIter>, front, mid, end);     auto handle_left = std::async(std::launch::async,                              parallel_sum<RAIter>, front, beg, mid);     return handle_left.get() + handle_right.get(); }  int main() {     std::vector<int> v(20000, 1);     std::cout << "The sum is " << parallel_sum(v.begin(), v.begin(), v.end()) << '\n'; }

輸出

可能一

Calculate from 8125 to 8750                                                                                                                Calculate from 18125 to 18750                                                                                                              Calculate from 10625 to 11250                                                                                                              Calculate from 2500 to 3125                                                                                                                Calculate from 13750 to 14375                                                                                                              Calculate from 5000 to 5625                                                                                                                Calculate from 1250 to 1875                                                                                                                Calculate from 3750 to 4375                                                                                                                Calculate from 16250 to 16875                                                                                                              Calculate from 17500 to 18125                                                                                                              Calculate from 10000 to 10625                                                                                                              Calculate from 625 to 1250                                                                                                                 Calculate from 18750 to 19375                                                                                                              Calculate from 15625 to 16250                                                                                                              Calculate from 3125 to 3750                                                                                                                Calculate from 12500 to 13125                                                                                                              The sum is 20000

可能二

Calculate from 1875 to 2500 Calculate from 3750 to 4375  Calculate from 8750 to 9375  Calculate from 7500 to 8125  Calculate from 15000 to 15625  Calculate from 10000 to 10625  Calculate from 1250 to 1875  Calculate from 6875 to 7500  Calculate from 0 to 625 Calculate from 3125 to 3750  Calculate from 5625 to 6250  Calculate from 5000 to 5625  Calculate from 6250 to 6875  Calculate from 2500 to 3125  The sum is 20000

看完上述內容,你們掌握C++中怎么實現異步操作的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

瓦房店市| 德清县| 株洲市| 曲阜市| 马龙县| 常德市| 柳州市| 静宁县| 唐海县| 建水县| 昭觉县| 渑池县| 新昌县| 汉中市| 新野县| 旬邑县| 余江县| 东兰县| 凯里市| 泾源县| 满洲里市| 吴堡县| 贵南县| 武陟县| 松潘县| 信丰县| 巍山| 元谋县| 年辖:市辖区| 合水县| 马公市| 盘锦市| 明星| 湾仔区| 沐川县| 枝江市| 浮梁县| 栾川县| 平阳县| 道真| 通许县|