15. [pywin32] CreateSemaphore 함수
pywin32/win32event2020. 9. 19. 00:46
PyHANDLE = CreateSemaphore(SemaphoreAttributes, InitialCount , MaximumCount , SemaphoreName )
인자로는 SemaphoreAttributes : PySECURITY_ATTRIBUTES, InitialCount : int, MaximumCount : int, SemaphoreName : str가 있습니다.
SemaphoreAttributes는 세마포어에 대한 보안 속성으로 None으로 두셔도 무방합니다.
InitialCount는 세마포어의 초기 카운트 값으로 0이상 MaximumCount 값 이하여야 합니다.
MaxiumCount는 세마포어의 최대 카운트 값으로 최대 몇개의 쓰레드가 세마포어에 접근할 수 있는지를 나타냅니다.
SemaphoreName은 문자열 값이며, 뮤텍스의 이름을 지정해줍니다.
return 값은 세마포어의 핸들 값입니다.
import win32event
import win32con
import win32api
x = win32event.CreateSemaphore(None, 1, 2, "semaTest")
print("Main Thread\n")
win32api.CloseHandle(x)
semaTest라는 이름의 세마포어를 생성했습니다.
최대 카운트가 2이므로, 최대 2개의 쓰레드의 동시 접근을 허용하나, 초기 카운트 값이 1이므로 일단은 1개의 쓰레드만이 세마포어에 접근할 수 있습니다.
반응형
'pywin32 > win32event' 카테고리의 다른 글
17. [pywin32] ReleaseSemaphore 함수 (0) | 2020.09.21 |
---|---|
16. [pywin32] OpenSemaphore 함수 (0) | 2020.09.20 |
14. [pywin32] ReleaseMutex 함수 (0) | 2020.09.18 |
13. [pywin32] OpenMutex 함수 (0) | 2020.09.17 |
12. [pywin32] CreateMutex 함수 (0) | 2020.09.16 |
댓글()