Share via


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

evento

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.

Consulte también

concurrency (espacio de nombres)