Partager via


event, classe

Événement de réinitialisation manuelle qui a explicitement connaissance du runtime d'accès concurrentiel.

Syntaxe

class event;

Membres

Constructeurs publics

Nom Description
~event Destructor Détruit un événement.

Méthodes publiques

Nom Description
reset Réinitialise l’événement à un état non signalé.
set Signale l’événement.
wait Attend que l’événement soit signalé.
wait_for_multiple Attend que plusieurs événements soient signalés.

Constantes publiques

Nom Description
timeout_infinite Valeur qui indique qu'une attente ne doit jamais expirer.

Notes

Pour plus d’informations, consultez Structures de données de synchronisation.

Hiérarchie d'héritage

event

Spécifications

En-tête : concrt.h

Espace de noms : concurrency

event

Construit un nouvel événement.

_CRTIMP event();

Notes

~événement

Détruit un événement.

~event();

Notes

Il est prévu qu’il n’y a pas de threads en attente sur l’événement lorsque le destructeur s’exécute. L’autorisation de la destruction de l’événement avec des threads toujours en attente entraîne un comportement non défini.

reset

Réinitialise l’événement à un état non signalé.

void reset();

set

Signale l’événement.

void set();

Notes

La signalisation de l’événement peut entraîner un nombre arbitraire de contextes qui attendent que l’événement devienne exécutable.

timeout_infinite

Valeur qui indique qu'une attente ne doit jamais expirer.

static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;

wait

Attend que l’événement soit signalé.

size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

Paramètres

_Timeout
Indique le nombre de millisecondes avant l’expiration du délai d’attente. La valeur COOPERATIVE_TIMEOUT_INFINITE signifie qu’il n’y a pas de délai d’expiration.

Valeur de retour

Si l’attente a été satisfaite, la valeur 0 est retournée ; sinon, la valeur COOPERATIVE_WAIT_TIMEOUT à indiquer que l’attente a expiré sans que l’événement ne devienne signalé.

Important

Dans une application plateforme Windows universelle (UWP), n’appelez wait pas le thread ASTA, car cet appel peut bloquer le thread actuel et peut entraîner l’absence de réponse de l’application.

wait_for_multiple

Attend que plusieurs événements soient signalés.

static size_t __cdecl wait_for_multiple(
    _In_reads_(count) event** _PPEvents,
    size_t count,
    bool _FWaitAll,
    unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);

Paramètres

_PPEvents
Tableau d’événements à attendre. Le nombre d’événements dans le tableau est indiqué par le count paramètre.

count
Nombre d’événements dans le tableau fourni dans le _PPEvents paramètre.

_FWaitAll
Si la valeur trueest définie, le paramètre spécifie que tous les événements du tableau fourni dans le _PPEvents paramètre doivent être signalés afin de satisfaire l’attente. Si la valeur falseest définie, elle spécifie qu’un événement dans le tableau fourni dans le _PPEvents paramètre devenant signalé répond à l’attente.

_Timeout
Indique le nombre de millisecondes avant l’expiration du délai d’attente. La valeur COOPERATIVE_TIMEOUT_INFINITE signifie qu’il n’y a pas de délai d’expiration.

Valeur de retour

Si l’attente a été satisfaite, l’index dans le tableau fourni dans le _PPEvents paramètre qui a satisfait la condition d’attente ; sinon, la valeur COOPERATIVE_WAIT_TIMEOUT à indiquer que le délai d’attente a expiré sans que la condition soit satisfaite.

Notes

Si le paramètre _FWaitAll est défini sur la valeur true pour indiquer que tous les événements doivent être signalés pour satisfaire l’attente, l’index retourné par la fonction n’a aucune signification particulière autre que le fait qu’il ne s’agit pas de la valeur COOPERATIVE_WAIT_TIMEOUT.

Important

Dans une application plateforme Windows universelle (UWP), n’appelez wait_for_multiple pas le thread ASTA, car cet appel peut bloquer le thread actuel et peut entraîner l’absence de réponse de l’application.

Voir aussi

accès concurrentiel Namespace