53 votes

C# équivalent à java est d'attendre et d'en informer?

Je suis conscient que vous pouvez verrouiller un objet en c# à l'aide de serrure, mais pouvez-vous donner la serrure et attendre quelque chose d'autre à vous aviser qu'il a changé comme vous pouvez le faire en java avec les attendre et de les en informer?

Il me semble que, de façon synchronisée et le verrouiller en java et c# sont respectivement de synonyme.

92voto

Jon Skeet Points 692016

La fonctionnalité équivalente (y compris le verrouillage normale) est dans le Moniteur de classe.

foo.notify() => Monitor.Pulse(foo)
foo.notifyAll() => Monitor.PulseAll(foo)
foo.wait() =>  Monitor.Wait(foo)

L' lock déclaration en C# est équivalent à l'appel de Monitor.Enter et Monitor.Exit avec un try/finally bloc.

Voir mon threading tutoriel ou Joe Albahari la une pour plus de détails.

1voto

EBGreen Points 14478

Je pense Attendre les Poignées peuvent travailler pour vous. Voir si cela aide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X