나의 마지막 포스트에서 나는 동등한 기능을 실행하는 mutexes와 가능한 방법에 관하여 그런 부호를 GNU/Linux에 향할 때 WaitForSingleObject의 사용을 토론했다. 이 포스트에서 나는 Microsoft Windows에 있는 사건 목표를 가진 이 API의 사용을 기술하고 GNU/Linux 또는 유닉스에 그런 부호 배치의 가능한 방법을 건의할 것이다.
첫째로, 사건에 약간 배경은 반대한다. 사건 목표는 Windows 알갱이 배차계 목표의 다만 또 다른 유형이다. prespective 코딩에서, 사건 목표는 한개 이상 알갱이 배차계 목표를 캡슐에 넣고 그의 동기화 의미론이 WaitForSingleObject와 그것의 사촌을 통해 접근 가능한 동기화 목표이다. 보통때는 동기화 목표는 nonsignaled 신호된다, i.e 목표는 2개의 가능한 국가의 한에서만 있을 수 있다.
목표 손잡이에 WaitForSingleobject 기대 몇몇 지정된 표준까지 손잡이를 포함하여 APIs의 WaitFor 계열 모두는 만나진다. 이 APIs 전부를 위한 2개의 기본적인 표준은 그의 손잡이에 기다리고 그리고 타임아웃 가치 목표의 신호한 국가이다. 따라서 지정되는 목표가 신호하는 국가 또는 지정되는 타임아웃에 들어갈 때까지 이 API 기대를 부르는 실은 만료되었다. 거의 비슷하게 CPU 시간은 그런 실이 대기 상태에 있을 때 사용된다.
사건의 경우에, CreateEvent 또는 OpenEvent는 사건 목표에 손잡이를 돌려보낸다. 사건은 신호하는 국가에 있을 때 그것에는 사건 신호될 이 특정한 사건을 기다리는 한개 이상 실을 풀어 놓는 수용량이 다는 것을 의미한다. 사건은 nonsignaled 국가에 있을 때 어떤 기다리는 실도 풀어 놓지 않을 것이다. 초기에 사건의 국가는 nonsignaled. 사건 목표의 국가는 SetEvent 또는 PulseEvent에 의해 신호하는에 명백하게 놓인다. 사건 목표는 또한 소켓에서 읽기와 같은 부분적으로 덮인 가동에서 사건 목표 국가가 신청에 의해 보다는 오히려 알갱이에 의해 신호하는에 놓이면 어떤 경우에는 이용된다.
사건은 또한 2가지의 다시 놓인 유형 들어온다. 사건이 수동 리셋 사건인 경우에, WaitForSingleObjects 모든 반환 이렇게 형성해 그 사건을 기다리는 경우에. WaitForSingleObject 또는 그것의 사촌 다시 말하면 수동 리셋 사건은 한개 이상에 의하여 활동을 방아쇠를 당길 수 있다. 수동 리셋 사건 목표의 국가는 ResetEvent에 의해 nonsignaled에 명백하게 다시 놓여야 한다.
자동 재시동 사건 목표를 위해, WaitForSingleObject와 관계 다시 놓인 이다

























