abe*_*nci 3 .net c# task-parallel-library
我知道没有必要等待,Parallel.For但是因为在Parallel.For我想等待Parallel.For完成期间正在处理 UI Windows 消息(WinForms 消息泵)。
将 a 封装在 aParallel.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;
}
Run Code Online (Sandbox Code Playgroud)
而不是Parallel.For为什么不使用 justTask和 call Task.WaitAll()?
var t1 = Task.Run(() => {});
var t2 = Task.Run(() => {});
Task.WaitAll(t1, t2);
Run Code Online (Sandbox Code Playgroud)