동기화를 위한 커널 객체의 특징
• 커널 객체를 사용한 동기화의 경우 Signaled와 Nonsignaled의 두 가지 상태 중 하나로 존재하며, 동기화 객체가
Signaled될 때까지 이 커널 객체를 사용하려는 스레드는 대기하고 있게 된다.
• 프로세스를 생성하면 그 프로세스 내에 존재하는 커널 동기화 객체는 Nonsignaled 상태로 있게 되고,
WaitForSingleObject()를 사용하여 이 커널 객체가 Signaled 될 때까지 기다릴 수 있으며, 프로세스 내에 존재하는
커널 객체가 Signaled되는 시저은 그 프로세스가 종료하는 시점이 된다.
• 유저 어플리케이션에서 모든 커널 객체가 핸들을 통하여 액세스되듯이 동기화를 위한 커널 객체 또한 핸들을
사용하여 엑세스하게 된다. 그리고 이들 동기화 객체들은 모두 WaitForSingleObject() 또는
WaitForMultipleObject()를 사용하여 그 객체가 Signaled될 때까지 기다릴 수 있게 된다.
출처 : Windows 구조와 원리 그리고 Codes
'Programming > Network' 카테고리의 다른 글
socket error 메세지 (WSAGetLastError) (0) | 2011.09.07 |
---|---|
WaitForSingleObject 사용시 Thread 종료되었는지 주의할 것 (0) | 2011.09.07 |
크리티컬 섹션(Critical Section) & 뮤텍스(Mutex) & 이벤트(Event) & 세마포어(Semaphore) (1) | 2011.04.27 |