Monitor.PulseAll(Object) Methode

Definitie

Hiermee worden alle wachtende threads van een wijziging in de status van het object op de hoogte gesteld.

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)

Parameters

obj
Object

Het object dat de puls verzendt.

Uitzonderingen

De obj parameter is null.

De aanroepende thread is niet de eigenaar van de vergrendeling voor het opgegeven object.

Opmerkingen

De thread die momenteel eigenaar is van de vergrendeling van het opgegeven object roept deze methode aan om alle threads te signaleren die wachten om de vergrendeling op het object te verkrijgen. Nadat het signaal is verzonden, worden de wachtende threads verplaatst naar de wachtrij. Wanneer de thread die wordt aangeroepen PulseAll de vergrendeling loslaat, verkrijgt de volgende thread in de wachtrij gereed de vergrendeling.

Houd er rekening mee dat een gesynchroniseerd object verschillende verwijzingen bevat, waaronder een verwijzing naar de thread die momenteel de vergrendeling bevat, een verwijzing naar de gereede wachtrij, die de threads bevat die gereed zijn om de vergrendeling te verkrijgen en een verwijzing naar de wachtwachtrij, die de threads bevat die wachten op melding van een wijziging in de status van het object.

De Pulse, PulseAllen Wait methoden moeten worden aangeroepen vanuit een gesynchroniseerd codeblok.

De opmerkingen voor de Pulse methode leggen uit wat er gebeurt als Pulse wordt aangeroepen terwijl er geen threads wachten.

Als u één thread wilt signaleren, gebruikt u de Pulse methode.

Van toepassing op

Zie ook