作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道不需要等待 Parallel.For
但由于在 Parallel.For
期间正在处理 UI Windows 消息(WinForms 消息泵),我想等待 Parallel.For
完成。
将 Parallel.For
封装在 Task
中,然后等待它是个好主意吗?有没有更好的办法?
谢谢。
CancellationTokenSource token = new CancellationTokenSource();
const int len = 100;
double[] array = new double[len];
Task t = Task.Factory.StartNew(delegate {
Parallel.For(0, len, delegate(int i, ParallelLoopState loopState) {
array[i] += 1;
});
try
{
t.Wait(token.Token);
}
catch (OperationCanceledException e)
{
rc = false;
}
最佳答案
而不是 Parallel.For
为什么不只使用 Task
并调用 Task.WaitAll()
?
var t1 = Task.Run(() => {});
var t2 = Task.Run(() => {});
Task.WaitAll(t1, t2);
关于c# - 等待Parallel.For,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21681229/
我是一名优秀的程序员,十分优秀!