16. [pywin32] OpenSemaphore 함수
pywin32/win32event2020. 9. 20. 00:53
PyHANDLE = OpenSemaphore(desiredAccess, bInheritHandle , name )
만들어진 세마포어를 오픈하는 함수입니다.
인자로는 desiredAccess : int, bInheritHandle : bool, name : PyUnicode 가 있습니다.
desiredAccess는 세마포어에 대한 접근권한입니다.
- win32event.EVENT_ALL_ACCESS: 객체에 대한 모든 권한을 부여합니다.(세마포어는 이 권한을 사용해야 합니다.)
bInheritHandle은 TRUE/FALSE 둘 중 하나를 가집니다.
- win32con.TRUE: 호출하는 프로그램의 핸들을 상속합니다.
- win32con.FALSE: 호출하는 프로그램의 핸들을 상속하지 않습니다.
name은 CreateSemaphore 함수 사용 시 사용했던 세마포어의 이름입니다.
Return 값은 오픈한 세마포어의 핸들값입니다.
import win32event
import win32con
import win32api
x = win32event.CreateSemaphore(None, 1, 2, "semaTest")
sHandle=win32event.OpenSemaphore(win32event.EVENT_ALL_ACCESS, win32con.FALSE, "semaTest")
print("Main Thread\n")
win32api.CloseHandle(sHandle)
win32api.CloseHandle(x)
위의 예제는 OpenSemaphore의 사용을 보여주기 위해 적었으나, 사실 CreateSemaphore로 만들어서 그대로 사용해도 되고, OpenSemaphore는 다른 프로세스에서 호출하는 식으로 사용합니다.
반응형
'pywin32 > win32event' 카테고리의 다른 글
18. [pywin32] WaitForMultipleObjects 함수 (0) | 2020.09.22 |
---|---|
17. [pywin32] ReleaseSemaphore 함수 (0) | 2020.09.21 |
15. [pywin32] CreateSemaphore 함수 (0) | 2020.09.19 |
14. [pywin32] ReleaseMutex 함수 (0) | 2020.09.18 |
13. [pywin32] OpenMutex 함수 (0) | 2020.09.17 |
댓글()