Monitor.PulseAll(Object) Méthode

Définition

Avertit tous les threads en attente d'un changement d'état de l'objet.

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)

Paramètres

obj
Object

Objet qui envoie l'impulsion.

Exceptions

Le paramètre obj a la valeur null.

Le thread appelant ne possède pas le verrou pour l'objet spécifié.

Remarques

Le thread qui possède actuellement le verrou sur l’objet spécifié appelle cette méthode pour signaler à tous les threads en attente d’acquérir le verrou sur l’objet. Une fois le signal envoyé, les threads en attente sont déplacés vers la file d’attente prête. Lorsque le thread qui a appelé PulseAll libère le verrou, le thread suivant dans la file d’attente prête acquiert le verrou.

Notez qu’un objet synchronisé contient plusieurs références, notamment une référence au thread qui contient actuellement le verrou, une référence à la file d’attente prête, qui contient les threads prêts à obtenir le verrou et une référence à la file d’attente, qui contient les threads qui attendent la notification d’une modification dans l’état de l’objet.

Les Pulseméthodes , et Wait , PulseAlldoivent être appelées à partir d’un bloc de code synchronisé.

Les remarques de la Pulse méthode expliquent ce qui se passe si Pulse elle est appelée quand aucun thread n’attend.

Pour signaler un thread unique, utilisez la Pulse méthode.

S’applique à

Voir aussi