日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > C++ > 正文

Visual C++本地并行編程中的狀態管理

2020-05-23 14:24:36
字體:
來源:轉載
供稿:網友

任務組取消

  新的Beta1 PPL的其中一個功能就是可以取消正在運行中的任務組。在task_group類型上加入run 和 wait方法是一個新的cancel方法。還有一個相應的is_canceling方法讓你可以檢查在進程中是否完成取消。task_group_status列舉也有一個新的值叫做canceled,讓你檢查取消是否發生。以下的代碼展示了這些新的功能:

  //declare tasks and run tasks

  task_group tg;

  tg.run(([]{printf("consoleWrite0/n");}));

  tg.run(([]{printf("consoleWrite1/n");}));

  //cancel tasks   tg.cancel();

  //check whether tasks are being cancelled

  bool taskGroupIsCanceling = tg.is_canceling();

  //check on status of task group

  task_group_status status = tg.wait();

  if (status == completed){

  printf("Tasks were completed successfully/n");

  }

  else if (status == canceled){

  printf("Tasks were canceled during task execution/n");

  }

  else{

  printf("An exception occured during task execution/n");

  }

  Combinable 類型

  達到并行執行編程任務的最大利益的有效形式之一是工作在本地拷貝或是子數據上的每一個并行分支被處理,然后當處理結束后,將結果合并。這個形式可以最大限度的減少資源爭用,而且減少潛在的死鎖和當并行線程試圖更新相同的內存位置時所發生的數據不一致的問題。

  使用這個形式沒有那么復雜,但是需要很乏味的為每一個使用進行手動編碼。為了簡化形式使用,Visual C++ 2010 Beta 1 添加了combinable模版類型。這個模版參數傳遞到combinable是每個任務將要操作的對象類型。這個類型必須有一個默認的構造器和一個拷貝構造器。通過使用local方法,每個任務訪問它自己的combinable管理資源的拷貝。 當所有任務結束后,通過使用combine 或是 combine_each方法,你可以將所有結果合并到一個結果集中。

  以下的代碼用三個獨立的任務添加一些元素給一個矢量,然后用兩個合并的方法將結果合并成一個矢量。

  //declare a combinable vector of integers

  combinable< vector< int>> v;

  //add an element to the vector using three separate tasks

  parallel_invoke(   [&]{ v.local().push_back(1); },

  [&]{ v.local().push_back(2); },

  [&]{ v.local().push_back(3); }

  );

  //merge the task-local copies using combine_each

  vector< int> result1;

  v.combine_each(

  [&](vector< int>& local)

  {

  result1.insert(result1.end(),

  local.begin(), local.end());

  }

  );

  //merge the task-local copies using combine

  vector< int> result2 = v.combine(

  [](vector< int> left, vector< int> right)->vector< int>{

  left.insert(left.end(), right.begin(), right.end());

  return left;

  });

  要注意的是在最后一行的代碼語句中的lambda表達式的明確返回類型聲明的使用。在lambda表達式中的兩個語句阻止編譯器正確推斷返回類型,所以需要手動聲明。

  也可以為沒有默認構造器(或是在很多情況下默認構造器的使用是不合適的)的類型使用combinable,通過使用combinable構造器,它是采用了一個發生器功能創建了一些模版參數類型的對象。上面代碼的前面幾行是使用超載發生器構造器而重新編寫的。在這種情況下,發生器功能返回已經包含一個元素的矢量。

  //declare a combinable vector of integers

  inable< vector< int>> v([]{return vector< int>(1, 0);});

  同步

  Combinable的使用取決于不需要作用在其他任務上的結果的任務。在多重任務的情況下需要分享一個對象,你必須使用更傳統的同步策略。PLL本身帶有三個同步原語——critical_section, reader_writer_lock 和 event。critical_section鎖住內存位置防止沒有鎖的所有任務的訪問。對于內存位置將有很多同時讀取者和少數編寫者,更優化的reader_writer_lock是可用的,允許多重讀取者獲取鎖并同時訪問內存位置。最后的原語是event,用于在任務和線程之間發信號。

  同步原語在concrt.h標題文件(是PPL的基本標題文件,包含在ppl.h中)中被定義。在concrt.h中定義的大多數類型的目標是圖書館作者,而不是應用程序的開發者,但是任何對深層并行開發感興趣的人都可以自由的調查和使用恰當的來自暴露在外的類型的功能。

  critical_section類型的API是非常簡單的;你使用一個blocking lock方法來獲取這個鎖,non-blocking try_lock會試圖去獲取這個鎖,如果它可用的話,而且unlock會釋放一個鎖住的critical_section。

  reader_writer_lock是有一點點的復雜。它添加了兩個方法,lock_read 和try_lock_read,可以支持獲取一個reader lock。Unlock方法和critical_section是一樣的,而且將釋放恰當的基于鎖類型的鎖。

  最后的同步原語是event,這是手動復位事件(即:事件保持設置直到用外部代碼進行手動復位)。代碼可以通過調用實例wait方法(也是支持一個可選的timeout值),等待一個單一事件被設置。當沒有timeout被定義的時候,等待的時間是無限的。你可以等待多重事件,通過使用靜態wait_for_multiple,它接受C-style的event pointers。wait_for_multiple方法等待一個單一事件或是所有的事件傳遞到方法調用。以下的代碼等待這兩個事件被設置:

  event* events[2];

  events[0] = new event();

  events[1] = new event();

  parallel_invoke(

  [&]{ events[0]->set(); },

  [&]{ events[1]->set(); }

  );

  bool waitForAllEvents = true;

  event::wait_for_multiple(events, 2, waitForAllEvents);

  當同時執行很多任務的時候,處理狀態管理是非常艱巨的工作。PPL提供對狀態管理的一種形式的支持,就是每個線程在本地版本的分享對象上進行操作,在程序結束的時候將這些結果合并起來。對于分離狀態管理的情況是不恰當的,PPL以critical_section, reader_writer_lock 和 event的形式提供傳統的同步原語。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
欧美日韩国产在线看| 日韩视频在线一区二区三区| 中文字幕国产在线| 天天综合天天| 日韩一级二级三级精品视频| 国产在成人精品线拍偷自揄拍| 精品一区二区三区中文字幕 | 中文精品在线观看| 97天天综合网| 国产成人精品亚洲| 久久电影国产免费久久电影| 国产一级粉嫩xxxx| 欧美三级在线播放| 久久精品一级爱片| 一区二区视频国产| 中文天堂资源在线| 中文字幕在线欧美| 久久中文精品| 视频一区二区精品的福利| 欧美日韩国产免费观看视频| 国产乱一区二区| 日韩欧美中文第一页| 国产亚洲污的网站| 国产乱国产乱300精品| 久久韩国免费视频| 日韩精品视频在线观看免费| 国产丝袜一区| 日韩久久精品视频| 在线观看91精品国产入口| 午夜少妇久久久久久久久| 国产极品嫩模在线视频一区| 一区二区三区免费看视频| www在线播放| 久久精品www| 国产在线播放一区二区| 国产成人中文字幕| 欧美日韩成人一区| 欧美一卡2卡三卡4卡5免费| 91精品国产自产观看在线| 日韩欧美国产网站| 欧美一级在线免费| 国产亚洲二区| 成人欧美亚洲| 国产欧美三级| 日韩区欧美区| 精品网站999www| 日韩欧美国产免费播放| 91国内在线| 日韩国产高清一区| 精品国内自产拍在线视频| 国产福利免费观看| 一级片免费网站| 免费网站看黄yyy222| 国产日韩精品在线观看| 日韩欧美一级视频| 欧美日韩亚洲第一| 欧美精选午夜久久久乱码6080| 国产视频97| 中文字幕在线亚洲| 中文字幕亚洲乱码| 国产成人精品999| 免费中文字幕日韩欧美| 欧美日韩国产一区在线| 国产免费久久久| 日韩va亚洲va欧洲va国产| 久久精品国产2020观看福利| 亚洲校园欧美国产另类| 日韩视频在线一区二区| 国产偷久久久精品专区| 一区二区中文视频| 在线观看国产福利视频| 欧美日韩国产专区| 麻豆一区二区99久久久久| 日韩在线视频观看正片免费网站| 91色在线看| 中文字幕在线观看亚洲| 精品三级久久| 亚洲福利精品在线| 欧美日韩综合不卡| 黄色国产网站在线观看| 亚洲最新永久观看在线| 亚洲中午字幕| 日本视频久久久| 极品久久久久久| 国产视频2区| 精品久久久视频| 91av久久久| 视频一区不卡| 欧美日韩中文| 欧美日韩精品免费在线观看视频| 日韩欧美中文在线视频| 欧美成人vr18sexvr| 欧美日韩第一区日日骚| 久久久精品网| 欧美三级一区二区三区| 国产在线视频一区二区| 中文字幕国产欧美| 国产乱国产乱老熟300部视频| 国产精品福利视频一区二区三区| 日韩三级视频中文字幕| 一级免费a一片| a天堂中文在线官网在线| 日韩精品在线第一页| 亚洲福利一区| 亚洲欧美中文在线视频| 亚洲男人在线| 一级特黄大欧美久久久| 国产福利一区二区| 国产在线视频一区二区| 国产99对白在线播放| 久久精品久久久久| 1区2区在线| 日韩欧美综合在线| 精品福利一区二区三区| 欧美亚洲专区| 视频一区三区| 影音先锋中文字幕在线观看| 中文字幕日韩高清| 精人妻一区二区三区| 国产羞羞视频在线播放| 韩日中文字幕第一页| 欧美成人精品在线| 一区二区精品| 日本精品在线播放| av三级在线观看| 51精品免费网站| 国产自产视频| 91精品国产91久久久久| 国产字幕中文| 精品国产999| 日韩精品视频网| 精品免费久久久| 日韩美女视频一区二区在线观看| 国产视频一二区| 日韩中文字幕在线观看视频| 久久久99久久| 亚洲欧洲日产国码av系列天堂 | 欧美日韩高清在线播放| 日韩欧美综合在线| 国产欧美日韩高清| 伊人伊成久久人综合网小说| 国产成人精品三级| 亚洲第一视频| www.日韩免费| 欧美一级免费在线观看| 亚洲羞羞网站| 在线视频一区二区三区在线播放 | 国产一区在线观看视频| 日韩福利视频导航| 欧美日韩国产中文精品字幕自在自线| 午夜一区二区三区视频| 久久精品国产视频| 成人精品国产福利| 久久精品国产视频| 中文字幕欧美亚洲| 亚洲a中文字幕| 成人a在线视频免费观看| 91精品视频在线| 精品成人久久久| 成人久久在线| 亚洲第一页中文字幕| 精品不卡一区二区| 欧美亚洲另类制服自拍| 国产美女主播视频一区| 亚洲人成欧美中文字幕| 精品在线99| 亚洲一级影院| 视频一区二区国产| 国产午夜精品一区二区三区视频| 国产免费不卡av| 91欧美日韩| 欧美日韩高清一区二区| 国产在线观看a| 精品网站999www| 欧美日韩在线不卡一区| 中文字幕国产视频| 日韩欧美三级| 欧美成人精品在线| 先锋男人资源站| 久久夜色精品国产欧美乱极品| 欧美 日韩 国产 高清| 国产一级在线播放| 日韩亚洲一区在线| 亚洲精品中文字幕乱码三区| 精品久久人人做人人爽| 久久久精品日韩| 日韩 国产 一区| 久久精品日韩无码| 精品三级av| 色屁屁一区二区| a在线观看免费视频| 欧美在线亚洲一区| 免费高清特黄a大片| 日韩欧美三级在线| 国产精品一区二三区| 久久 天天综合| 欧美xxxx中国| 精品视频www| 日韩精品第一区| 精品国产欧美日韩| 91精品免费看| 午夜精品一区二区三区视频免费看 | 色妇色综合久久夜夜| 欧美日韩综合在线| 99精品视频99| 国产欧美在线观看| 91精品国产色综合久久久蜜香臀| 国产最新在线| 一区二区三区四区五区视频在线观看| 国产黄在线播放| 亚洲天堂国产视频| 久久精品卡一| 久久精品久久精品国产大片| 精品久久在线观看| 日韩欧美在线精品| 国产不卡在线| 国产成人精品网址| 日韩一级免费视频| 精品一二线国产| 中文字幕在线视频精品| 欧美三级在线看| 综合激情国产一区| 亚洲三级av| 精品久久久视频| 最近中文字幕在线中文高清版| 国产中文在线| 精品国产31久久久久久| 亚亚洲欧洲精品| 欧美高清视频一区二区三区| 国产亚洲短视频| 在线日韩精品视频| 中文字幕亚洲在| 中文字幕日韩免费视频| 精品全国在线一区二区| 一区二区在线观| 91精品国产亚洲| 精品亚洲综合| 蜜桃精品视频| 日韩欧美在线中文字幕| 国产123在线| 二区中文字幕| 日韩欧美国产1| 欧美xxxx中国| 日韩专区中文字幕| 91精品在线看V| 欧美日韩高清不卡| 91精品国产自产| 日韩三级免费观看| 国产一区日韩| 欧美日韩亚洲一| 国产综合精品在线| 免费看ww视频网站入口| 国产黄在线观看| 先锋男人资源站| 中文字幕人成乱码在线观看| 亚洲午夜久久| 日韩中文字幕在线视频观看 | 久久精品国产视频| 亚洲成在线观看| 99在线国产| 91最新在线| 日韩三级在线播放| 日韩高清不卡在线| 欧美日本精品在线| 蜜桃久久久久| 精品国内自产拍在线视频| 久本草在线中文字幕亚洲欧美| 久久麻豆视频| 国产欧美日韩综合| 欧美日韩国产页| 国产在线日韩精品| 欧美日韩中文字幕精品| 国产高清一级片| 日韩国产专区| 日韩在线视频精品| 免费精品国产自产拍在| 激情综合色综合久久| 日韩欧美中文字幕视频| 成人福利一区| 999在线视频| 欧美日本精品在线| 久久综合九色欧美综合狠狠| 日韩在线不卡| 在线观看中文字幕一区| 国产欧美日韩精品在线| 激情国产在线| 中文字幕伊人| 国产1卡2卡三卡四卡网站| 午夜伦欧美伦电影理论片| 日韩欧美中文| 国产中文伊人| 国产第一页在线播放| 中文字幕精品国产| 精品久久电影| 亚洲欧美中文字幕在线一区| 精品国内自产拍在线视频| 亚洲欧洲国产视频| 亚洲视频 中文字幕| 在线观看国产一级片| 日韩 欧美 中文| 国产无遮挡在线视频免费观看| a级在线免费观看| 欧美婷婷久久| 日本精品国语自产拍在线观看| 欧美日韩精品高清| 欧美日韩亚州综合| 精品色蜜蜜精品视频在线观看| 欧美国产综合在线V| 精品乱子伦一区二区| av亚洲免费| 日本不卡免费高清视频| 91九色精品视频| 在线视频国内一区二区| 欧美日韩亚洲国内综合网俺| 香蕉精品久久| 国产一级片在线| 一级特黄大欧美久久久| 国产三级视频在线播放线观看| 精品国产99久久久久久 | 中文字幕欧美人妻精品一区蜜臀 | 91国内在线| 欧美精选午夜久久久乱码6080| 久久精品www| 国产久卡久卡久卡久卡视频精品| 樱花草www在线| 欧美日韩免费精品| 欧美三级免费观看| 日韩欧美中文字幕在线观看| 国产日韩av一区| 国产成人精品亚洲| 国产字幕在线看| 亚洲素人一区二区| 中文字幕成人乱码在线电影| 欧美不卡一区二区| 国产婷婷在线观看| 精品视频123区在线观看| 伊人中文字幕在线观看| 91吃瓜在线观看| 日韩欧美综合在线视频| 黄色国产网站在线观看| 欧美亚洲视频在线看网址| 国产视频三级在线观看播放| 国产欧美日韩中文字幕在线| 欧美日韩高清一区二区| www.91香蕉视频| 国产蜜臀在线| 国产区高清在线| av影视在线看| 日韩欧美在线精品| 亚洲图片小说综合| 日韩欧美在线字幕 | 欧美日韩中文字幕在线| 91色在线看| a级在线免费观看| 国产调教精品| 日韩福利视频导航| 久久久久久欧美| 三级网站免费观看| 亚洲免费婷婷| 大香一本蕉伊线亚洲网| 国内不卡的二区三区中文字幕| 日韩欧美中文| 麻豆精品视频入口| aaa大片在线观看| 中文字幕五月天| 国产在线高潮| 中文字幕在线视频久| 中文在线а√在线8| av一区在线| 一区二区高清在线| 欧洲一级精品| 亚洲高清视频在线| 国产福利第一页| 日韩国产一区久久| 亚洲开心激情| 中文字幕日韩欧美在线视频| 免费在线亚洲| 日韩三级一区| 日韩欧美中文第一页| 欧美日韩在线视频免费观看| 91精品国产色综合久久不卡蜜臀| 日韩欧美一级精品久久| 中文字幕日韩国产| 日韩av在线中文字幕| 精品色蜜蜜精品视频在线观看| 日韩亚洲欧美中文在线| 99中文字幕一区| 欧美一级搡bbbb搡bbbb| 日韩亚洲国产欧美| 国产福利精品导航| 日韩一级网站| 亚洲欧洲一区二区天堂久久| 欧美wwww| 久久精品99国产国产精| 日韩欧美资源站| 亚洲第一视频在线观看| 一本久久a久久精品亚洲| 日本xxxwww免费视频| 日韩欧美中文字幕精品| 一区二区视频在线|