2010-06-23 7 views
8

Solo quiero asegurarme de que entiendo algo aquí. Si obtengo un candado con Monitor.Enter o lock, ¿necesito llamar al Pulse antes de soltar el candado?Propósito de Monitor.Pulse

Monitor.Enter 

Monitor.Pulse // Is that neccessary? 

Monitor.Exit 

siempre estaba hecho creer que una llamada Monitor.Exit implícitamente invocar Monitor.Pulse. ¿Es eso verdad?

No estoy exactamente seguro de cuándo utilizaría Pulse. Eso es lo que está causando confusión.

Respuesta

10

No, no necesita llamar al Pulse ... pero tampoco se realizará automáticamente cuando salga.

Pulse y PulseAll se utilizan junto con Wait con fines de señalización.

Consulte la segunda mitad de this page para obtener más información (ignore el bit de bloqueo, básicamente :)

Cuestiones relacionadas