Col*_*yes 5 .net parallel-processing
我连续几个Parallel.For操作.
我目前正在检查每个Parallel.For的返回值ParallelLoopResult并睡眠20毫秒,直到IsCompleted成员设置为true.
Dim plr as ParallelLoopResult
plr = Parallel.For(...)
while not plr.IsCompleted
Thread.Sleep(20)
end while
plr = Parallel.For(...)
while not plr.IsCompleted
Thread.Sleep(20)
end while
.
.
.
Run Code Online (Sandbox Code Playgroud)
如何添加内核级别块(即WaitHandle)来代替循环和Thread.Sleep?是否存在Parallel.For触发的完成事件?Parallel.For是否提供这样的机制?
这Parallel.For完成它所要求的所有代码。只有IsCompleted返回false则循环被中断。
从http://msdn.microsoft.com/en-us/library/system.threading.tasks.parallelloopresult.aspx:
如果 IsCompleted 返回 true,则循环运行完成,从而执行循环的所有迭代。如果 IsCompleted 返回 false 并且 LowestBreakIteration 返回 null,则调用 Stop 会提前结束循环。如果 IsCompleted 返回 false 并且 LowestBreakIteration 返回非空整数值,则使用 Break 提前结束循环。
| 归档时间: |
|
| 查看次数: |
1540 次 |
| 最近记录: |