Sdílet prostřednictvím


Monitor.PulseAll(Object) Metoda

Definice

Upozorní všechna čekající vlákna změny ve stavu objektu.

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)

Parametry

obj
Object

Objekt, který odesílá puls.

Výjimky

Parametr obj je null.

Volající vlákno nevlastní zámek pro zadaný objekt.

Poznámky

Vlákno, které aktuálně vlastní zámek u zadaného objektu vyvolá tuto metodu, aby signalizovala všechna vlákna čekající na získání zámku objektu. Po odeslání signálu se čekající vlákna přesunou do připravené fronty. Když vlákno, které vyvolalo PulseAll uvolnění zámku, další vlákno v připravené frontě získá zámek.

Všimněte si, že synchronizovaný objekt obsahuje několik odkazů, včetně odkazu na vlákno, které aktuálně obsahuje zámek, odkaz na připravenou frontu, která obsahuje vlákna připravená k získání zámku, a odkaz na čekající frontu, která obsahuje vlákna, která čekají na oznámení o změně stavu objektu.

, PulsePulseAlla Wait metody musí být vyvolány z synchronizovaného bloku kódu.

Poznámky pro metodu Pulse vysvětlují, co se stane, pokud je volána, když Pulse žádné vlákna čekají.

Chcete-li signalizovat jedno vlákno, použijte metodu Pulse .

Platí pro

Viz také