.NET中的ManualResetEvent和AutoResetEvent有什么区别?
我已阅读关于此的文档,我想我明白了。 当代码通过event.WaitOne()
, AutoResetEvent
重置,但ManualResetEvent
不会。
它是否正确?
是。 这就像收费站和门的区别。 ManualResetEvent
是需要手动关闭(重置)的门。 AutoResetEvent
是一个收费站,允许一辆车在下一辆车可以通过之前自动关闭。
试想一下, AutoResetEvent
WaitOne()
和Reset()
作为一个原子操作来执行。
简短的答案是肯定的。 最重要的区别是AutoResetEvent只允许一个等待线程继续。 另一方面,ManualResetEvent将保持允许多个线程同时连续运行,直到您告诉它停止(重置它)。
链接地址: http://www.djcxy.com/p/29327.html上一篇: What is the difference between ManualResetEvent and AutoResetEvent in .NET?
下一篇: What is the most elegant way to insert objects between array elements?