Monitor.PulseAll(Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Benachrichtigt alle wartenden Threads über eine Änderung am Zustand des Objekts.
public:
static void PulseAll(System::Object ^ obj);
public static void PulseAll (object obj);
static member PulseAll : obj -> unit
Public Shared Sub PulseAll (obj As Object)
Parameter
- obj
- Object
Das Objekt, das den Impuls sendet.
Ausnahmen
Der obj
-Parameter ist null
.
Der aufrufende Thread besitzt keine Sperre für das angegebene Objekt.
Hinweise
Der Thread, der derzeit die Sperre auf dem angegebenen Objekt besitzt, ruft diese Methode auf, um alle Threads zu signalisieren, die auf das Abrufen der Sperre im Objekt warten. Nachdem das Signal gesendet wurde, werden die wartenden Threads in die bereite Warteschlange verschoben. Wenn der aufgerufene PulseAll
Thread die Sperre veröffentlicht hat, erhält der nächste Thread in der bereiten Warteschlange die Sperre.
Beachten Sie, dass ein synchronisiertes Objekt mehrere Verweise enthält, einschließlich eines Verweises auf den Thread, der derzeit die Sperre enthält, einen Verweis auf die bereite Warteschlange, die die Sperre erhält, und einen Verweis auf die Wartezeit, die die Threads enthält, die auf die Benachrichtigung einer Änderung im Zustand des Objekts warten.
Die PulseMethoden und PulseAll
Wait Methoden müssen innerhalb eines synchronisierten Codes aufgerufen werden.
Die Hinweise für die Pulse Methode erläutern, was geschieht, wenn Pulse keine Threads warten.
Um einen einzelnen Thread zu signalisieren, verwenden Sie die Pulse
Methode.