3. [pywin32] WaitForSingleObject 함수
pywin32/win32event2020. 8. 31. 00:08
int = WaitForSingleObject(hHandle, milliseconds )
이벤트 하나를 등록시켜놓고 이벤트가 셋트 되면 이를 알려주는 함수입니다.
인자로는 hHandle : PyHANDLE, milliseconds : int 가 있습니다.
hHandle: 대기상태로 둘 이벤트 핸들입니다.
milliseconds: 정한 시간 만큼만 이벤트가 대기하고, 시간이 지나면 타임 아웃이 발생합니다.
- win32event.INFINITE: 대기 시간을 무한으로 설정합니다.
Return Value: 함수 성공 시 리턴값은 이벤트가 왜 대기 상태에서 깨어났는지에 따라 달라집니다,
- win32event.WAIT_ABANDONED: 뮤텍스 객체가 종료되거 전 제대로 반환되지 않았을 때
- win32event.WAIT_OBJECT_0: 이벤트가 셋트 되어서 깨어 났을 때
- win32event.WAIT_TIMEOUT: milliseconds에서 정한 시간이 지나 타임 아웃이 발생했을 때
import win32event
import win32con
import win32api
evtHandle = win32event.CreateEvent(None, win32con.FALSE, win32con.FALSE, "eventTest")
while True:
x = win32event.WaitForSingleObject(evtHandle, 3000)
if x == win32event.WAIT_OBJECT_0:
print(f"signaled #1")
break
elif x == win32event.WAIT_TIMEOUT:
print(f"time out")
break
win32api.CloseHandle(evtHandle)
CreateEvent 함수에서 추가된 코드로, 3초(3000ms)만큼 대기시킨다.
그 결과 타임 아웃이 발생하였다.
반응형
'pywin32 > win32event' 카테고리의 다른 글
6. [pywin32] ResetEvent 함수 (0) | 2020.08.31 |
---|---|
5. [pywin32] SetEvent 함수 (0) | 2020.08.31 |
4. [pywin32] OpenEvent 함수 (0) | 2020.08.31 |
2. [pywin32] CreateEvent 함수 (0) | 2020.08.30 |
1. [pywin32] win32event 소개 (0) | 2020.08.20 |
댓글()