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á impuls.

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 signalizovalo 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 ve frontě připraveno 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 čekající na oznámení o změně ve stavu objektu.

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

Poznámky k metodě Pulse vysvětlují, co se stane, když se Pulse volá, když žádná vlákna nečekají.

Pokud chcete signalizovat jedno vlákno, použijte metodu Pulse .

Platí pro

Viz také