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.
我阅读了有关事件,它允许我等待其他线程:AutoResetEvent和ManualResetEvent.
AutoResetEvent
ManualResetEvent
这两个类有什么区别?哪个类更适合高并发程序?
不同之处在于事件发出信号(设置)时会发生什么。
一般来说,我发现使用手动重置事件更容易,因为在大多数情况下,在任何给定时间确定事件的状态会更直接一些。
也就是说,在某些情况下,自动重置事件的行为有助于更好地实现同步,因为您可以保证只有一个等待线程会收到信号。因此,如果您有一个生产者/多个消费者场景,其中任何但只有一个消费者应该收到信号,您应该考虑自动重置事件。