Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

WaitForSingleObject

지정된 객체(Object)가 시그널상태가 될때까지 혹은 비시그널 상태로 제한시간 까지 기다린다. 시그널 상태나 타임아웃 상태면 반환한다.

대기 상태를 알려주기 위해서는 WaitForSingleObjectEx함수를 사용한다. 복수의 객체를 기다리기 위해서는 WaitForMultipleObject함수를 사용한다.

사용 법

  • hHandle
기다릴 객체의 핸들을 지정한다.
  • dwMilliseconds
제한시간을 밀리초 단위로 지정한다. 제한시간이 지나면 시그널이 도착하지 않았더라도 반호나한다. 0을 지정하면 객체의 상태를 확인하고 바로 반환한다. INFINITE를 지정하면 시그널이 도착할 때까지 기다린다.

반환 값

함수가 성공하면, 아래와 같은 측정 값을 가지고 반환한다.
WAIT_ABANDONED 지정된 객체가 파기된 뮤텍스 객체다. 뮤텍스를 소유한 쓰레드가 뮤텍스 객체의 소유권을 되돌려주지 않고 종료했다. 그래서 뮤텍스 객체의 소유권이 호출한 쓰레드로 옮겨졌으며, 뮤텍스는 비시그널 상태가 되었다.
WAIT_OBJECT_0 지정한 객체에 시그널 상태다
WAIT_TIMEOUT 제한시간이 지날 때까지 시그널상태가 되지 않았다.

상세 설명

WaitForSingleObject 함수는 지정된 객체의 현새 상태를 검사한다. 객체는 제한시간 내에서 시그널상태가 될 때까지 기다린다.

WaitForSingleObject 함수는 다음의 객체를 기다린다.
  • 콘솔 입력
  • 이벤트
  • 메모리 리소스 통지
  • 뮤텍스
  • 프로세스
  • 세마포어
  • Thread(쓰레드)
  • 타이머