亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

Visual C++本地并行編程中的狀態(tài)管理

2020-05-23 14:24:36
字體:
供稿:網(wǎng)友

任務(wù)組取消

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

  //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 類型

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

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

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

  //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表達(dá)式的明確返回類型聲明的使用。在lambda表達(dá)式中的兩個語句阻止編譯器正確推斷返回類型,所以需要手動聲明。

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

  //declare a combinable vector of integers

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

  同步

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

  同步原語在concrt.h標(biāo)題文件(是PPL的基本標(biāo)題文件,包含在ppl.h中)中被定義。在concrt.h中定義的大多數(shù)類型的目標(biāo)是圖書館作者,而不是應(yīng)用程序的開發(fā)者,但是任何對深層并行開發(fā)感興趣的人都可以自由的調(diào)查和使用恰當(dāng)?shù)膩碜员┞对谕獾念愋偷墓δ堋?/p>

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

  reader_writer_lock是有一點點的復(fù)雜。它添加了兩個方法,lock_read 和try_lock_read,可以支持獲取一個reader lock。Unlock方法和critical_section是一樣的,而且將釋放恰當(dāng)?shù)幕阪i類型的鎖。

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

  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);

  當(dāng)同時執(zhí)行很多任務(wù)的時候,處理狀態(tài)管理是非常艱巨的工作。PPL提供對狀態(tài)管理的一種形式的支持,就是每個線程在本地版本的分享對象上進(jìn)行操作,在程序結(jié)束的時候?qū)⑦@些結(jié)果合并起來。對于分離狀態(tài)管理的情況是不恰當(dāng)?shù)?,PPL以critical_section, reader_writer_lock 和 event的形式提供傳統(tǒng)的同步原語。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
久久青青草视频| 欧美久久一区二区三区| 伊人久久国产精品| 青青青国产在线观看| 中文字幕字幕中文在线中不卡视频| 青青国产精品| 欧美xxxx黑人xyx性爽| 色婷婷成人综合| 在线播放www| 中日韩视频在线观看| 亚洲一区二区三区视频播放| 久久婷婷蜜乳一本欲蜜臀| 久久久久久久久久久网| 精品在线视频一区二区三区| 白嫩情侣偷拍呻吟刺激| 2023国产一二三区日本精品2022| 在线看黄色av| 羞羞视频在线免费看| 欧美日韩在线精品成人综合网| 免费色视频在线观看| 亚洲午夜激情网页| 亚洲欧美日韩一区在线| 四虎精品成人a在线观看| 欧美日韩在线视频免费| 欧美午夜视频网站| 久久精品女人的天堂av| 精品视频第一区| 久久视频免费在线播放| 在线综合视频播放| 一本加勒比北条麻妃| 成人av免费电影| 成人在线免费公开观看视频| 欧美大人香蕉在线| 欧美日韩亚洲另类| 亚洲乱码一区二区三区在线观看| 91小视频xxxx网站在线| 性生活在线视频| 99热这里只有精品首页| 亚洲欧美综合区自拍另类| 中国av一区二区三区| 成人看片毛片免费播放器| 亚洲精品网站在线| 婷婷无套内射影院| 最近免费中文字幕在线第一页| 国产精品一区二区入口九绯色| 精品国产欧美| 天天操天天爽天天干| 国产亚洲激情| 一级特黄a大片免费| 精品剧情在线观看| 亚洲xxx视频| 三级a三级三级三级a十八发禁止| 亚洲国产精品久久久久秋霞蜜臀| 日本伦理一区二区三区| 久久成人免费观看| caoporn免费在线视频| www.日本在线播放| 久久99精品视频一区97| 欧美日韩在线一| 欧美午夜aaaaaa免费视频| 夜久久久久久| 久久综合中文| 99视频精品免费观看| 992tv在线影院| 日韩综合一区二区| 97在线视频免费看| 久久久精品视频国产| 久草在线成人| 久久伊人精品天天| 日本xxxxx18| 欧美日韩三级一区二区| 亚洲精品影片| 欧美日韩在线一区二区| 久久亚洲道色| 一区精品在线| 四虎永久在线观看免费网站网址| 国产美女做爰免费视频软件| 日本一区免费观看| 91亚洲精品一区二区| japan高清日本乱xxxxx| 亚洲欧美日本一区| 国产在线一二三区| 成人情趣视频网站| 天堂在线观看免费视频| 免费在线黄色电影| 一个人看的日本www的免费视频| 国产在线网站| 69中国xxxxxxxxx69| 亚洲人成人一区二区三区| 午夜精品一区二区三区视频免费看| 天天综合五月天| 亚洲永久av| 欧美日产在线观看| 在线观看麻豆| 亚洲精品人成网在线播放影院| 伦理天堂电影| 一区二区三区四区在线观看视频| 亚洲开心激情网| 91超碰碰碰碰久久久久久综合| 国产麻豆剧果冻传媒观看hd高清| 国产精品欧美久久久久天天影视| 亚洲人成影院在线观看| 99热国产在线| 亚洲视频每日更新| 日本在线一区二区三区| www.成人影院| 欧美第一页在线| 青青在线视频一区二区三区| 欧美性xxxxx| 男人的天堂久久| 一区二区三区av| 亚瑟一区二区三区四区| 蜜臀久久久久久999| 亚洲欧美在线播放| 久久国产色av免费观看| 熟女丰满老熟女熟妇| 国产精品国产福利国产秒拍| 韩国免费在线视频| 色综合色综合久久综合频道88| 岛国大片在线免费观看| 老妇女50岁三级| 国产精品久久国产精品| 成人高潮片免费视频| 亚洲成人精品女人久久久| 亚洲熟妇国产熟妇肥婆| 最新国产拍偷乱拍精品| 国产大尺度在线观看| 国产午夜亚洲精品理论片色戒| 妞干网在线播放| 无码人妻精品一区二区三区蜜桃91| 中文字幕jux大岛优香| 最近中文字幕免费mv视频多少集| 久久久中精品2020中文| 国产麻豆一区二区三区| 春色成人在线视频| 欧美不卡一区二区三区四区| 国产女同性恋一区二区| 国产精品成人av| www.五月激情| 亚洲精品国产高清久久伦理二区| 国产成人成网站在线播放青青| 精品久久久久久中文字幕人妻最新| 久久综合色鬼综合色| 日韩欧美一区二区视频在线播放| 麻豆网站在线观看| 在线看一区二区| 日本一二三区在线| 成人午夜电影免费在线观看| 麻豆91免费| 久久久久久九九九| av免费观看久久| 午夜精品三级久久久有码| 日韩美女一区二区三区| 国产伦精品一区二区三区免费优势| 色狠狠一区二区三区| 黄色av免费播放| www.亚洲天堂.com| 国产精品成人观看视频免费| 国产成人精品无码免费看夜聊软件| 精品国产亚洲一区二区三区大结局| 91精品国产99久久久久久红楼| 国产一区福利在线| 国产在线一区观看| 久久综合导航| 最近中文字幕av免费高清| 国产一级aa大片毛片| 亚洲国产欧美一区二区三区同亚洲| 国产精品久久久久久9999| av动漫在线观看| 欧美毛片免费观看| chinese国产精品| 中文字幕在线视频第一页| 最近最新中文字幕在线| 亚洲小视频在线| 日韩精品免费在线| 18free性欧美另类hd| 天天射夜夜爽| 午夜电影亚洲| 欧美精品一二| 国产精品第九页| 中国一区二区三区| 午夜精品在线视频一区| 日韩在线视频免费播放| 懂色av成人一区二区三区| 尤物视频免费观看| 欧美人妖视频| 青青草视频导航| 免费黄色成年网站| 日韩美女主播视频| 中文字幕久久综合| 在线看的av网站| 久久亚洲精华国产精华液| 欧洲视频一区| 东京热av一区| 国产大学生视频| 在线免费一区二区| 在线观看日产精品| 手机在线一区二区三区| 久久久九九九九| 日韩一区中文| 中文字字幕码一二三区| 91日韩视频在线观看| 成人在线国产视频| 国产日韩影视精品| 欧美另类黑人巨大videos| 欧美精品成人一区二区在线观看| www.日韩| 加勒比色综合久久久久久久久| 欧美一级淫片免费视频黄| 97精品国产97久久久久久粉红| 制服.丝袜.亚洲.中文.综合| 国内外成人激情免费视频| 亚洲香蕉av在线一区二区三区| 亚洲精品一区二区三| 久久精品成人欧美大片| 国产蜜臀97一区二区三区| 亚洲卡通欧美制服中文| 色先锋影音岛国av资源| 欧美激情综合五月色丁香小说| 日本人69视频| 伊人网伊人影院| 欧洲成人一区| 2020久久国产精品| 国产欧美日本一区二区三区| 久久高清无码视频| 国产精品白丝一区二区三区| 波多野结衣人妻| 黄网视频午夜青春| 在线观看国产一区| 欧美自拍偷拍网| 欧美有码在线| 国产在线观看免费| 日本一区二区三区免费乱视频| 精品99又大又爽又硬少妇毛片| 精品日韩中文字幕| 免费观看成人av| 性做久久久久久久免费看| 夜夜狂射影院| 色狠狠av一区二区三区香蕉蜜桃| 亚洲制服丝袜在线| 欧美成人直播| 影音先锋在线国产| 国产精品免费丝袜| www.久久com| 日本黄色女人| 国产另类第一区| 久精品免费视频| 精品久久久久久中文字幕一区奶水| 欧美丰满老妇熟乱xxxxyyy| 99高清免费国产自产拍| 岛国片在线免费观看| 91日韩久久| 熟妇高潮一区二区高潮| 五月天婷婷基地| 亚洲激情欧美激情| 先锋影音在线资源站91| 欧美日韩在线直播| 亚洲欧美日韩久久久久久| 成人欧美一区二区三区黑人| 国内精品久久久久久影院老狼| 欧美视频一二三| www.麻豆| 国产一区二区三区在线播放免费观看| 国产日韩一区二区在线观看| www黄色在线观看视频| 黄色av地址| 国产精品一区二区三区观看| 中文字幕第7页| 国产成人高清| 久久久久噜噜噜亚洲熟女综合| 久久影院模特热| 97超碰在线免费| 黄页视频在线播放| 在线影院福利| 欧美丰满艳妇bbwbbw| 5g国产欧美日韩视频| a91a精品视频在线观看| 精品产品国产在线不卡| 波多野结衣一区二区三区在线观看| 日本不卡三区| 亚洲精品粉嫩美女一区| 四色永久免费网站| 韩国午夜理伦三级不卡影院| 免费在线观看日韩欧美| 国产精品爽爽ⅴa在线观看| 久久天天狠狠| y111111国产精品久久婷婷| 男人天堂午夜在线| 啊v视频在线一区二区三区| 大陆极品少妇内射aaaaaa| 亚洲自拍小视频免费观看| 亚洲区免费影片| 视频1区2区3区| 国产www在线| 传媒av在线| 色偷偷av亚洲男人的天堂| 26uuu精品一区二区在线观看| 免费看污污网站| 亚洲一区二区三区精品在线观看| 国产按摩一区二区三区| 国产丝袜视频在线观看| 五月婷婷丁香六月| sm一区二区三区| 色先锋资源久久综合| 大陆精大陆国产国语精品| 97香蕉久久超级碰碰高清版| 成人精品电影| 在线观看av免费| 777久久久精品| 午夜视频在线观看一区二区| 久久精品男人天堂av| 红桃av在线播放| 亚洲av无码国产精品久久不卡| 亚洲小说区图片区| 亚洲精品aaaa精品| 9久久9毛片又大又硬又粗| 久色婷婷小香蕉久久| 青青青在线视频免费观看| 最近中文字幕免费mv| 国产视频一区二区三区在线观看| 欧美日韩一区二区三区四区| 欧美日韩一区二区三区高清| 天天精品视频| 欧美日韩国产网站| 成人欧美一区二区三区黑人一| 国产天堂在线观看| 日本三级在线电影| 亚洲黄色a级片|