What is the difference between ManualResetEvent and AutoResetEvent in .NET?
Yes. It's like the difference between a tollbooth and a door. The ManualResetEvent
is the door, which needs to be closed (reset) manually. The AutoResetEvent
is a tollbooth, allowing one car to go by and automatically closing before the next one can get through.
Just imagine that the AutoResetEvent
executes WaitOne()
and Reset()
as a single atomic operation.
The AutoResetEvent
also guarantees to only release one waiting thread.