6. [pywin32] ResetEvent 함수

pywin32/win32event|2020. 8. 31. 00:48

ResetEvent(hEvent)

 

이벤트를 리셋 시키는 함수입니다.

 

인자로는 hEvent : PyHANDLE 가 있습니다.

 

hEvent: 리셋시킬 이벤트 핸들입니다. 보통 OpenEvent 함수의 리턴값을 사용합니다.

 

이 함수를 실험하기 전에 WaitForSingleObject 함수의 예제를 아래와 같이 바꾸고 실행시켜 줍니다.

import win32event
import win32con
import win32api

evtHandle = win32event.CreateEvent(None, win32con.TRUE, win32con.TRUE, "eventTest")

while True:
    x = win32event.WaitForSingleObject(evtHandle, 3000)
    if x == win32event.WAIT_OBJECT_0:
        print(f"signaled #1")
    elif x== win32event.WAIT_TIMEOUT:
        print(f"time out")
        break

win32api.CloseHandle(evtHandle)

이벤트 초기 상태를 셋트하고, 자동 리셋을 해제 시켜서 signaled #1이 무한 실행될 것입니다.

 

그리고 아래의 ResetEvent 예제를 실행시켜 봅시다.

import win32event
import win32con
import win32api

evtHandle = win32event.OpenEvent(win32event.EVENT_ALL_ACCESS, win32con.FALSE, "eventTest")

win32event.ResetEvent(evtHandle)

win32api.CloseHandle(evtHandle)

아래와 같이 signaled #1이 무한 발생하다가 이벤트를 리셋시키는 순간 정지됩니다. 그 후 3초(3000ms)가 지나면 타임 아웃이 걸립니다.

 

 

반응형

'pywin32 > win32event' 카테고리의 다른 글

8. [pywin32] CreateWaitableTimer 함수  (0) 2020.09.09
7. [pywin32] PulseEvent 함수  (0) 2020.08.31
5. [pywin32] SetEvent 함수  (0) 2020.08.31
4. [pywin32] OpenEvent 함수  (0) 2020.08.31
3. [pywin32] WaitForSingleObject 함수  (0) 2020.08.31

댓글()