一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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

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

  Cancel

  在并行的循環中支持通過傳遞ParallelOptions參數中的CancellationToken進行取消循環的控制,我們可以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技術.Net4.0 Parallel編程(三)Data Parallelism 下,轉載需保留來源!

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

主站蜘蛛池模板: 午夜视频一区 | 四虎影视8848a四虎在线播放 | 性久久久久久 | 麻豆精品成人免费国产片 | 免费亚洲一区 | 久久99国产亚洲高清 | 日本加勒比高清 | 成年人国产视频 | 久久九九精品视频 | 亚洲天堂99 | 成年美女黄网站色大免费视频 | 91亚洲欧美 | 好吊妞视频988在线播放 | 亚洲国产一区二区三区在线观看 | 韩国一级永久免费观看网址 | 成人a区 | 国产91福利 | 91视频久久| 亚洲一区二区观看 | 伊人久久中文 | 久久成人国产 | 久久综合丝袜长腿丝袜 | 婷婷色亚洲 | 久久精品视频一区 | 最新亚洲情黄在线网站 | 午夜国产在线视频 | 麻豆精品成人免费国产片 | 久久精品94精品久久精品 | 伊人开心网 | 中文字幕一区在线播放 | 伊人狼人久久 | 激情六月婷婷开心丁香开心 | www.日韩三级 | 大臿蕉香蕉大视频成人 | 免费伊人 | 国产亚洲高清视频 | 国内精品91最新在线观看 | 久久久久国产一级毛片高清片 | 日本免费一区二区在线观看 | 久久久性 | 亚州激情 |