Monitor.PulseAll(Object) Metod

Definition

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.

Gäller för

Se även