¿Cuál es la diferencia entre ManualResetEvent y AutoResetEvent en .NET?

Resuelto Ben McNiel asked hace 16 años • 11 respuestas

He leído la documentación sobre esto y creo que lo entiendo. An AutoResetEventse reinicia cuando el código pasa event.WaitOne(), pero a ManualResetEventno.

¿Es esto correcto?

Ben McNiel avatar Sep 30 '08 23:09 Ben McNiel
Aceptado

Sí. Es como la diferencia entre un peaje y una puerta. Es ManualResetEventla puerta que debe cerrarse (restablecerse) manualmente. Se AutoResetEventtrata de una cabina de peaje que permite el paso de un coche y se cierra automáticamente antes de que pueda pasar el siguiente.

Dan Goldstein avatar Sep 30 '2008 17:09 Dan Goldstein

Imagínese que se AutoResetEventejecuta WaitOne()y Reset()como una sola operación atómica.

También AutoResetEventgarantiza liberar solo un hilo en espera.

Michael Damatov avatar Sep 30 '2008 18:09 Michael Damatov