gpt4 book ai didi

c# - 等待Parallel.For

转载 作者:行者123 更新时间:2023-12-03 23:16:38 25 4
gpt4 key购买 nike

我知道不需要等待 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com