Monitor.PulseAll(Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.
, PulsePulseAll
a 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
.