将新线程注册到已定义的屏障
Register new thread to already defined barrier
有没有办法将线程添加到已经预定义的屏障?
场景:我在某个时间点有 N 个线程,代码声明 Barrier
以便处理它们。
问题是,有时我可能需要在该屏障实例中处理另一个新线程,但屏障已经声明为仅包含 N 个线程。
示例:
barrier = new Barrier(N, (sprint) => {
Console.WriteLine($"Current sprint: {sprint.CurrentPhaseNumber}")
});
声明后我需要用 N+1 个线程以某种方式再次更新它,有什么建议吗?
关于 Barrier 的完整文档在这里:https://docs.microsoft.com/en-us/dotnet/standard/threading/barrier
简而言之,您可以随时通过分别调用 AddParticipant
或 RemoveParticipant
.
添加或删除参与者
有没有办法将线程添加到已经预定义的屏障?
场景:我在某个时间点有 N 个线程,代码声明 Barrier
以便处理它们。
问题是,有时我可能需要在该屏障实例中处理另一个新线程,但屏障已经声明为仅包含 N 个线程。
示例:
barrier = new Barrier(N, (sprint) => {
Console.WriteLine($"Current sprint: {sprint.CurrentPhaseNumber}")
});
声明后我需要用 N+1 个线程以某种方式再次更新它,有什么建议吗?
关于 Barrier 的完整文档在这里:https://docs.microsoft.com/en-us/dotnet/standard/threading/barrier
简而言之,您可以随时通过分别调用 AddParticipant
或 RemoveParticipant
.