Em meu último borne eu discuti o uso de WaitForSingleObject com relação aos mutexes e às maneiras possíveis executar a funcionalidade equivalente ao mover tal código a GNU/Linux. Neste borne eu descreverei o uso deste API com objetos do evento em Microsoft Windows e sugerirei maneiras possíveis de afixar tal código a GNU/Linux ou a Unix.
Primeiramente, algum fundo em objetos do evento. Um objeto do evento é apenas um outro tipo de objeto do expedidor da semente de Windows. De uma codificação prespective, um objeto do evento é um objeto da sincronização que encapsulates uns ou vários objetos do expedidor da semente e os cujos a semântica da sincronização seja acessível através de WaitForSingleObject e de seus primos. Um objeto da sincronização nonsignaled ou é sinalizado a um momento determinado, isto é o objeto pode somente estar em um de dois estados possíveis.
Toda a família de WaitFor dos APIs que incluem a espera de WaitForSingleobject em um punho do objeto ou os punhos até alguns critérios especific é encontrada. Os dois critérios básicos para todos estes APIs são o estado sinalizado do objeto cujo no punho está esperando e um valor de intervalo de parada. Assim uma linha que chamasse esperas deste API até que o objeto especific incorporasse o estado sinalizado ou o intervalo de parada especific expirou. Quase nenhum processador central - o tempo é usado quando tal linha está no estado de espera.
No caso dos eventos, um CreateEvent ou um OpenEvent retornam um punho a um objeto do evento. Quando um evento está no estado sinalizado significa que aquele o evento tem a capacidade liberar umas ou várias linhas que esperam este evento particular a ser sinalizado. Quando um evento está no estado nonsignaled não liberará nenhuma linha de espera. Inicialmente o estado de um evento nonsignaled. Um estado de objeto do evento é ajustado explicitamente ao sinalizado por SetEvent ou por PulseEvent. Os objetos do evento estão usados igualmente em operações sobrepor tais como a leitura de um soquete, neste caso o estado de objeto do evento é ajustado ao sinalizado pela semente um pouco do que por uma aplicação.
Os eventos igualmente vêm em dois tipos restaurados. Se um evento é um evento da manual-restauração, a seguir todo o retorno de WaitForSingleObjects que espera esse evento se configurado assim. Em outras palavras um evento da manual-restauração pode provocar a ação por uns ou vários WaitForSingleObject ou seus primos. Um estado de objeto do evento da manual-restauração deve ser restaurado explicitamente ao nonsignaled por ResetEvent.
Para um objeto do evento do auto-reset, WaitForSingleObject e são relações restaurado

























