13. [pywin32] OpenMutex 함수
pywin32/win32event2020. 9. 17. 00:33
PyHANDLE = OpenMutex(desiredAccess, bInheritHandle , name )
인자로는 desiredAccess : int, bInheritHandle : bool, name : PyUnicode 가 있습니다.
desiredAccess는 뮤텍스에 대한 접근권한을 나타냅니다.
- win32event.SYNCHRONIZE: (NT만 가능) 동기화를 위해 사용합니다. 뮤텍스는 이 권한만 있으면 되는 것 같습니다.
bInheritHandle은 TRUE/FALSE 둘 중 하나를 가집니다.
- win32con.TRUE: OpenEvent는 호출하는 프로그램의 핸들을 상속합니다.
- win32con.FALSE: OpenEvent는 호출하는 프로그램의 핸들을 상속하지 않습니다.
name은 CreateMutex 함수 사용 시 사용했던 뮤텍스의 이름입니다.
Return 값은 오픈한 뮤텍스의 핸들값입니다.
import win32event
import win32con
import win32api
x = win32event.CreateMutex(None, win32con.FALSE, "mutexTest")
# win32event.ReleaseMutex(x)
# CreateMutex에 win32con.TRUE 라면 위의 함수로 점유를 해제해 줘야 합니다.
mHandle=win32event.OpenMutex(win32event.SYNCHRONIZE, win32con.FALSE, "mutexTest")
print("Main Thread\n")
win32api.CloseHandle(mHandle)
win32api.CloseHandle(x)
위의 예제는 OpenMutex의 사용을 보여주기 위해 적었으나, 사실 CreateMutex로 만들어서 그대로 사용해도 되고, OpenMutex는 다른 프로세스에서 호출하는 식으로 사용합니다.
반응형
'pywin32 > win32event' 카테고리의 다른 글
15. [pywin32] CreateSemaphore 함수 (0) | 2020.09.19 |
---|---|
14. [pywin32] ReleaseMutex 함수 (0) | 2020.09.18 |
12. [pywin32] CreateMutex 함수 (0) | 2020.09.16 |
11. [pywin32] SetWaitableTimer 함수 (0) | 2020.09.12 |
10. [pywin32] CancelWaitableTimer 함수 (0) | 2020.09.11 |
댓글()