Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un evento de reinicio manual que es explícitamente consciente del runtime de simultaneidad.
Sintaxis
class event;
Miembros
Constructores públicos
| Nombre | Descripción |
|---|---|
| ~event Destructor | Destruye un evento. |
Métodos públicos
| Nombre | Descripción |
|---|---|
| reset | Restablece el evento a un estado no señalado. |
| set | Señaliza el evento. |
| wait | Espera a que se señale el evento. |
| wait_for_multiple | Espera a que se señalen varios eventos. |
Constantes públicas
| Nombre | Descripción |
|---|---|
| timeout_infinite | Valor que indica que una espera nunca se agote. |
Comentarios
Para más información, consulte Estructuras de datos de sincronización.
Jerarquía de herencia
event
Requisitos
Encabezado: concrt.h
Espacio de nombres: simultaneidad
evento
Construye un nuevo evento.
_CRTIMP event();
~evento
Destruye un evento.
~event();
Comentarios
Se espera que cuando el destructor se ejecute, no haya ningún subproceso esperando en el evento. Permitir que el evento se destruya mientras los subprocesos aún están esperando en él da como resultado un comportamiento no definido.
reiniciar
Restablece el evento a un estado no señalizado.
void reset();
set
Indica el evento.
void set();
Comentarios
Señalar el evento puede producir un número arbitrario de contextos que esperan en el evento para que se convierta en ejecutable.
tiempo_de_espera_infinito
Valor que indica que una espera nunca debe agotarse.
static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;
esperar
Espera a que se señale el evento.
size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);
Parámetros
_Timeout
Indica el número de milisegundos antes de que se agote el tiempo de espera. El valor COOPERATIVE_TIMEOUT_INFINITE significa que no hay tiempo de espera.
Valor devuelto
Si se satisfizo la espera, se devuelve el valor 0; de lo contrario, se devuelve el valor COOPERATIVE_WAIT_TIMEOUT para indicar que el tiempo de la espera se agota sin haber señalado el evento.
Importante
En una aplicación de la Plataforma universal de Windows, no llame a wait en el subproceso ASTA puesto que esta llamada puede bloquear el subproceso actual y puede producir que la aplicación deje de responder.
esperar_para_múltiples
Espera a que se señalen varios eventos.
static size_t __cdecl wait_for_multiple(
_In_reads_(count) event** _PPEvents,
size_t count,
bool _FWaitAll,
unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);
Parámetros
_PPEvents
Un array de eventos para esperar en. El número de eventos dentro de la matriz viene indicado por el parámetro count.
count
El número de eventos dentro de la matriz proporcionado por el parámetro _PPEvents.
_FWaitAll
Si está establecido en el valor true, el parámetro especifica que todos los eventos de la matriz proporcionada en el parámetro _PPEvents deben señalarse para satisfacer la espera. Si se establece en el valor false, especifica que cualquier evento dentro de la matriz suministrada en el parámetro _PPEvents que sea señalado satisfará la espera.
_Timeout
Indica el número de milisegundos antes de que se agote el tiempo de espera. El valor COOPERATIVE_TIMEOUT_INFINITE significa que no hay tiempo de espera.
Valor devuelto
Si se satisfizo la espera, el índice dentro de la matriz proporcionada en el parámetro _PPEvents que satisfizo la condición de espera; de lo contrario, el valor COOPERATIVE_WAIT_TIMEOUT para indicar que se agotó el tiempo de espera sin que se satisfaciera la condición.
Comentarios
Si el parámetro _FWaitAll está establecido en el valor true para indicar que todos los eventos se deben señalar para satisfacer la espera, el índice que devuelve la función no tiene ninguna importancia especial aparte del hecho de que no es el valor COOPERATIVE_WAIT_TIMEOUT.
Importante
En una aplicación de la Plataforma universal de Windows, no llame a wait_for_multiple en el subproceso ASTA puesto que esta llamada puede bloquear el subproceso actual y puede producir que la aplicación deje de responder.