Ich möchte nur sicherstellen, dass ich hier etwas verstehe. Wenn ich eine Sperre mit Monitor.Enter
oder lock
erhalte, muss ich Pulse
aufrufen, bevor die Sperre aufgehoben wird?
Ich wurde immer zu der Annahme verleitet, dass ein Aufruf Monitor.Exit
implizit Monitor.Pulse
aufrufen würde. Ist das wirklich wahr?
Ich bin mir nicht sicher, wann du Pulse
benutzen würdest. Das verursacht Verwirrung.
Nein, Sie müssen Pulse
... nicht aufrufen, aber beim Beenden wird das nicht automatisch ausgeführt.
Pulse
und PulseAll
werden in Verbindung mit Wait
für Signalisierungszwecke verwendet.
Weitere Informationen finden Sie in der zweiten Hälfte der Seite (ignorieren Sie im Prinzip das Deadlocking-Bit) :)
Tags und Links c# multithreading