Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有 3 个线程 A、B 和 C
A 启动 B 而 C 是一个独立的线程,与 A 或 B 无关。所以现在 A 调用 B 做一些工作并休眠等待来自 B 或 C 的信号唤醒并重新开始工作。
如何在 C# 中实现这种跨线程事件处理?
使用 aManualResetEvent或 an AutoResetEvent(基于您想要的特定语义;没有更多信息很难说哪个更合适)。创建适当的事件对象并与所有三个线程共享它。让线程A等待事件。要么 要么B然后C可以将事件设置为唤醒线程A。
ManualResetEvent
AutoResetEvent
A
B
C