提问人:adrianm 提问时间:2/22/2011 最后编辑:Theodor Zouliasadrianm 更新时间:3/2/2023 访问量:15544
Parallel.Foreach 异常并取消
Parallel.Foreach exceptions and cancel
问:
我试图找出例外和取消是如何工作的。所有示例似乎都涉及任务。Parallel.Foreach
发生异常时会发生什么?Parallel.Foreach
- 我是否将整个循环包装在 try/catch () 中?
AggregateException
- 循环中的所有其他任务(甚至尚未启动的任务)是否会在捕获异常之前运行完成?
同样的问题。CancellationToken
答:
17赞
VinayC
2/22/2011
#1
简言之,每个循环中的异常都会被聚合并显示在 下。每当发生异常时,允许启动的循环完成,但不会启动进一步的循环。 确实有许多重载,允许一个人拥有本地 init & finally 块,并且 body action 也采用 ParallelLoopState,循环体代码可以使用它来检查另一个循环上是否发生异常,然后在需要时自行中断它。AggregateException
ForEach
请参阅此文章,其中提供了其他信息
评论
0赞
Bernard Borg
2/28/2023
链接已断开。
0赞
VinayC
3/2/2023
@BernardBorg,修复了链接。
上一个:要避免的类(代码完成)
下一个:显示 NuGet 包发行说明
评论