Monitor.PulseAll(Object) Methode

Definition

Benachrichtigt alle wartenden Threads über eine Änderung am Zustand des Objekts.Notifies all waiting threads of a change in the object's state.

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.The object that sends the pulse.

Ausnahmen

Der obj-Parameter ist null.The obj parameter is null.

Der aufrufende Thread besitzt keine Sperre für das angegebene Objekt.The calling thread does not own the lock for the specified object.

Hinweise

Der Thread, der die Sperre für das angegebene Objekt zurzeit besitzt, ruft diese Methode auf, um alle Threads zu signalisieren, die auf das Abrufen der Sperre für das Objekt warten.The thread that currently owns the lock on the specified object invokes this method to signal all threads waiting to acquire the lock on the object. Nachdem das Signal gesendet wurde, werden die wartenden Threads in die bereite Warteschlange verschoben.After the signal is sent, the waiting threads are moved to the ready queue. Wenn der Thread PulseAll , der die Sperre ausgelöst hat, die Sperre freigibt, erhält der nächste Thread in der Ready-Warteschlange die Sperre.When the thread that invoked PulseAll releases the lock, the next thread in the ready queue acquires the lock.

Beachten Sie, dass ein synchronisiertes Objekt mehrere Verweise enthält, einschließlich eines Verweises auf den Thread, der derzeit die Sperre besitzt, einen Verweis auf die bereite Warteschlange, die die Threads enthält, die zum Abrufen der Sperre bereit sind, sowie einen Verweis auf die Warteschlange, die enthält die Threads, die auf die Benachrichtigung über eine Änderung des Objekt Zustands warten.Note that a synchronized object holds several references, including a reference to the thread that currently holds the lock, a reference to the ready queue, which contains the threads that are ready to obtain the lock, and a reference to the waiting queue, which contains the threads that are waiting for notification of a change in the object's state.

Die PulseMethoden PulseAll, undWait müssen in einem synchronisierten Codeblock aufgerufen werden.The Pulse, PulseAll, and Wait methods must be invoked from within a synchronized block of code.

Die Hinweise für die Pulse -Methode erläutern, was Pulse geschieht, wenn aufgerufen wird, wenn keine Threads warten.The remarks for the Pulse method explain what happens if Pulse is called when no threads are waiting.

Verwenden Sie die Pulse -Methode, um einen einzelnen Thread zu signalisieren.To signal a single thread, use the Pulse method.

Gilt für:

Siehe auch