四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

.Net4.0 Parallel編程(三)Data Parallelism 下

  在上篇文章中介紹了如何Break、Stop循環(huán),以及如何定義線程局部變量。在本文中介紹如何在外部去取消循環(huán)、以及異常的處理。

  Cancel

  在并行的循環(huán)中支持通過傳遞ParallelOptions參數(shù)中的CancellationToken進行取消循環(huán)的控制,我們可以CancellationTokenSource實例化之后傳遞給ParallelOptions對象Cancellation值。下面來看個示例:

[TestMethod]
public void CancelLoop()
{
var sourceNums
= Enumerable.Range(0, 1000000000);
var cts
= new CancellationTokenSource();
var po
= new ParallelOptions();
var stack
= new ConcurrentStack<int>();
po.CancellationToken
= cts.Token;
po.MaxDegreeOfParallelism
= System.Environment.ProcessorCount;
Task.Factory.StartNew(()
=>
{
foreach (var num in sourceNums)
{
if (num == 1000000)
cts.Cancel();
}
});

try
{
Parallel.ForEach(sourceNums,po, num
=>
{
stack.Push(num);
po.CancellationToken.ThrowIfCancellationRequested();
});
}
catch (OperationCanceledException e)
{
Console.WriteLine(e.Message);
}
Console.WriteLine(stack.Count);
}

NET技術(shù).Net4.0 Parallel編程(三)Data Parallelism 下,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 我的父老乡亲| 新民歌| 裸体杂技dvd| 部队肩章等级排名图片| 来自地狱| 朱璇| bb88| 美女网站视频免费| 斗音| 陈慧娴个人资料| 陈奂生上城| 免费看污污| 贵州三日游| 白色圣诞节| 性感的秘书| 雀圣 电影| 库洛米头像| 电影丑闻| bb88| 日韩欧美电影网| 天河电影演员表| 电影《salawahan》| 苹果恋爱多| 苏西| 娱乐金鱼眼| 溜冰圆舞曲音乐教案| 32步简单舞步完整版| 抖音手机网页版| 头文字d里演员表| 声入人心| 抖音下载安装| 朱荣荣| 真濑树里| 龙的新娘电视剧全集| 电视剧昨夜星辰| 日本电影怪物| 刘越| 妻子的秘密免费看全集| 欧美日韩欧美日韩| 桐谷| 我亲爱的简谱|