gpt4 book ai didi

c# - Parallel.ForEach finally 子句

转载 作者:太空宇宙 更新时间:2023-11-03 18:39:36 25 4
gpt4 key购买 nike

我想知道是否有一个 finally 可以用在 Parallel.ForEach 中?

try
{
}
finally
{
}

这在 Parallel.ForEach 中可行吗?

我需要在循环完成后执行 finally。

Parallel.ForEach(someList, x =>
{
//...
}, // Now i need to do a finally);

我的问题是我最终尝试了我的 Parallel.ForEach,但我不希望最终发生。它必须仅在并行任务完成时发生。

所以这对我不起作用:

try
{
Parallel.ForEach(someList, x =>
{
//...
});
}
finally
{
}

还有其他方法吗?

最佳答案

循环和 finally 不在一起(除了可能在 Python 中)。您只需编写要在循环之后运行的代码,好吧,在循环之后。

如果你想不考虑循环中的异常而运行它,请这样做:

try
{
Parallel.ForEach(...)
}
finally
{
// ...
}

再想想,也许 OP ment 使用这个 Parallel.ForEach overload ,它允许您提供一个“localFinal”操作,每当线程(用于执行循环的另一次迭代)完成时调用该操作。

关于c# - Parallel.ForEach finally 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10432926/

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