event (Clase)
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ñala 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 debe agotar el tiempo de espera. |
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
event
Construye un nuevo objeto.
_CRTIMP event();
Comentarios
~evento
Destruye un evento.
~event();
Comentarios
Se espera que no haya ningún subproceso esperando en el evento cuando el destructor se ejecuta. Permitir que el evento se destruya con subprocesos que todavía esperan da como resultado un comportamiento no definido.
reset
Restablece el evento a un estado no señalado.
void reset();
set
Señala 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.
timeout_infinite
Valor que indica que una espera nunca debe agotar el tiempo de espera.
static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;
wait
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.
wait_for_multiple
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
Matriz de eventos en la que se va a esperar. 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 está establecido en el valor false
, especifica que cualquier evento de la matriz proporcionada en el parámetro _PPEvents
que se ha 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 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 el tiempo de la espera se agota sin satisfacer 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.