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