从睡眠中唤醒一个线程来响应一个事件
本文关键字:一个 响应 事件 睡眠中 唤醒 线程 | 更新日期: 2023-09-27 18:13:26
假设我有3个线程A, B和C
A启动B,而C是一个独立的线程,与A或B都没有关系,所以现在A调用B做一些工作,然后休眠,等待B或C的信号唤醒并开始再次工作。
如何在c#中实现这个跨线程事件处理?
使用ManualResetEvent
或AutoResetEvent
(基于您想要的特定语义;如果没有更多的信息,很难说哪个更合适)。创建适当的事件对象,并与所有三个线程共享。让线程A
等待事件。然后B
或C
都可以设置事件来唤醒线程A
。