threading - C#equivalente a esperar y notificar de Java?
parameters thread c# (2)
Soy consciente de que puedes bloquear un objeto en c # usando el bloqueo, pero ¿puedes abandonar el bloqueo y esperar que algo más te notifique que ha cambiado como puedes en Java con wait and notify?
Me parece que sincronizado y bloqueado en java yc # respectivamente son sinonómicos.
Creo que Wait Handles puede funcionar para usted. Vea si esto ayuda.
La funcionalidad equivalente (incluido el bloqueo normal) está en la clase Monitor .
foo.notify() => Monitor.Pulse(foo)
foo.notifyAll() => Monitor.PulseAll(foo)
foo.wait() => Monitor.Wait(foo)
La instrucción de lock
en C # es equivalente a llamar a Monitor.Enter
y Monitor.Exit
con un bloque try / finally apropiado.
Ver mi tutorial de threading o el de Joe Albahari para más detalles.