从睡眠状态唤醒线程以响应事件c#

时间:2013-05-14 18:26:21

标签: c# .net multithreading

假设我有3个线程A,B和C

A开始B而C是一个与A或B无关的独立线程。所以现在A调用B做一些工作并等待来自B或C的信号唤醒并再次开始工作。

如何在C#中实现这种交叉线程事件处理?

1 个答案:

答案 0 :(得分:4)

使用ManualResetEventAutoResetEvent(基于您想要的特定语义;没有更多信息,很难说哪个更合适)。创建适当的事件对象并与所有三个线程共享。让线程A等待事件。然后,BC可以将事件设置为唤醒线程A