Wil*_*lem 1 .net c# parallel-processing c#-4.0
我想知道是否有finally可以使用的Parallel.ForEach?
try
{
}
finally
{
}
Run Code Online (Sandbox Code Playgroud)
这有可能Parallel.ForEach吗?
循环完成后我需要做最后的事情.
Parallel.ForEach(someList, x =>
{
//...
}, // Now i need to do a finally);
Run Code Online (Sandbox Code Playgroud)
我的问题是我最终尝试了我的Parallel.ForEach,但我不希望最终发生.它必须仅在并行任务完成时发生.
所以这对我不起作用:
try
{
Parallel.ForEach(someList, x =>
{
//...
});
}
finally
{
}
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以做到这一点?
循环,finally不要一起去(除了Python).您只需将代码编写为在循环之后运行,以及循环之后.
如果要运行它而不管循环中的异常,请执行以下操作:
try
{
Parallel.ForEach(...)
}
finally
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
第二个想法,也许OP使用这个Parallel.ForEach 重载,它允许你提供一个"localFinal"动作,每当一个线程(用于执行循环的一次迭代)完成时就会调用它.
| 归档时间: |
|
| 查看次数: |
1268 次 |
| 最近记录: |