15. [pywin32] CreateSemaphore 함수

pywin32/win32event|2020. 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

댓글()