Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um evento de redefinição manual que está explicitamente ciente do Concurrency Runtime.
Sintaxe
class event;
Members
Construtores Públicos
| Nome | Description |
|---|---|
| ~event Destrutor | Destrói um evento. |
Métodos Públicos
| Nome | Description |
|---|---|
| redefinir | Redefine o evento para um estado não sinalizado. |
| set | Sinaliza o evento. |
| aguarde | Aguarda que o evento seja sinalizado. |
| wait_for_multiple | Aguarda que vários eventos sejam sinalizados. |
Constantes Públicas
| Nome | Description |
|---|---|
| timeout_infinite | Valor que indica que uma espera nunca deve terminar. |
Observações
Para obter mais informações, consulte Estruturas de dados de sincronização.
Hierarquia de herança
event
Requerimentos
Cabeçalho: concrt.h
Namespace: simultaneidade
evento
Constrói um novo evento.
_CRTIMP event();
~ evento
Destrói um evento.
~event();
Observações
Espera-se que não haja threads aguardando o evento quando o destrutor é executado. Permitir que o evento seja destruído com threads ainda aguardando resulta em comportamento não definido.
redefinir
Redefine o evento para um estado não sinalizado.
void reset();
set
Sinaliza o evento.
void set();
Observações
A sinalização do evento pode fazer com que um número arbitrário de contextos aguardando o evento se torne executável.
timeout_infinite
Valor que indica que uma espera nunca deve expirar.
static const unsigned int timeout_infinite = COOPERATIVE_TIMEOUT_INFINITE;
wait
Aguarda que o evento seja sinalizado.
size_t wait(unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE);
Parâmetros
_Timeout
Indica o número de milissegundos antes do tempo limite de espera. O valor COOPERATIVE_TIMEOUT_INFINITE significa que não há tempo limite.
Valor de retorno
Se a espera foi satisfeita, o valor 0 é retornado, caso contrário, o valor COOPERATIVE_WAIT_TIMEOUT para indicar que a espera expirou sem que o evento se tornasse sinalizado.
Importante
Em uma aplicação da Plataforma Universal do Windows (UWP), não invoque wait no thread ASTA porque essa chamada pode bloquear o thread atual e fazer com que a aplicação fique sem resposta.
wait_for_multiple
Aguarda que vários eventos sejam sinalizados.
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
Um conjunto de eventos para aguardar. O número de eventos dentro da matriz é indicado pelo count parâmetro.
contagem
A contagem de eventos dentro do array fornecido no parâmetro _PPEvents.
_FWaitAll
Se definido como o valor true, o parâmetro especifica que todos os eventos dentro da matriz fornecida no _PPEvents parâmetro devem ser sinalizados para satisfazer a espera. Se definido para o valor false, isso especifica que qualquer evento dentro da matriz fornecida no parâmetro _PPEvents quando sinalizado satisfará a espera.
_Timeout
Indica o número de milissegundos antes do tempo limite de espera. O valor COOPERATIVE_TIMEOUT_INFINITE significa que não há tempo limite.
Valor de retorno
Se a espera tiver sido satisfeita, o índice da matriz fornecido no parâmetro _PPEvents que satisfez a condição de espera; caso contrário, o valor COOPERATIVE_WAIT_TIMEOUT para indicar que a espera expirou sem que a condição tivesse sido satisfeita.
Observações
Se o parâmetro _FWaitAll é definido como o valor true para indicar que todos os eventos devem ser sinalizados para satisfazer a espera, o índice retornado pela função não tem nenhum significado especial além do fato de que não é o valor COOPERATIVE_WAIT_TIMEOUT.
Importante
Em um aplicativo da Plataforma Universal do Windows (UWP), não chame wait_for_multiple no thread ASTA porque essa chamada pode bloquear o thread atual e tornar o aplicativo sem resposta.