C#障碍超时

时间:2018-03-16 17:38:36

标签: c# parallel-processing timeout barrier

我正在并行运行一些任务,通常一次运行4个任务。对于一个测试,我需要一个屏障,因此它们在那时同步。

然后将屏障配置为new Barrier(4);。问题在于,有时可能会发生异常,这可能导致任务停在某一点并且不再到达障碍。

这会让Barrier永远等待,我该怎样解决这个问题? 是否可以配置超时以释放屏障,并测试那些已达到屏障的屏障?

This question is related to this post

1 个答案:

答案 0 :(得分:1)

如果我理解正确,即使第4个任务失败,您也希望继续3个任务。在这种情况下,您可以使用SignalAndWait(Int32)重载仅在指定的时间段内等待其他参与者。