Monitor.PulseAll(Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Meddelar alla väntande trådar om en ändring i objektets tillstånd.
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)
Parametrar
- obj
- Object
Objektet som skickar pulsen.
Undantag
Parametern obj är null.
Den anropande tråden äger inte låset för det angivna objektet.
Kommentarer
Tråden som för närvarande äger låset på det angivna objektet anropar den här metoden för att signalera alla trådar som väntar på att hämta låset på objektet. När signalen har skickats flyttas de väntande trådarna till den färdiga kön. När tråden som anropade PulseAll frigör låset hämtar nästa tråd i den färdiga kön låset.
Observera att ett synkroniserat objekt innehåller flera referenser, inklusive en referens till tråden som för närvarande innehåller låset, en referens till den färdiga kön, som innehåller trådarna som är redo att hämta låset och en referens till den väntande kön, som innehåller trådarna som väntar på meddelande om en ändring i objektets tillstånd.
Metoderna Pulse, PulseAlloch Wait måste anropas inifrån ett synkroniserat kodblock.
Kommentarerna för Pulse metoden förklarar vad som händer om Pulse anropas när inga trådar väntar.
Använd metoden för Pulse att signalera en enda tråd.