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 true
est 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 false
est 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.