[Semaphore]

Development/C/C++ 2011. 12. 1. 20:18

Semaphore

Mutex와 상당히 유사하다. 물론 Mutex와 비교해서 Semaphore는 다른 특징도 지니고 있다.

Semaphore 함수
1. Semaphore 생성 함수
HANDLE CreateSemaphore (LPSECURITY_ATTRIBUTES     lpSemaphoreAttributes, //보안 속성
LONG       lInitialCount,            // Semaphore의 생성 시 초기값 설정

LONG       lMaximumCount,     // Semaphore가 지닐 수 있는 최대 카운트 값을 결정

LPCTSTR  lpName                  // 생성되는 Semaphore에 이름을 줄 경우 사용

) ;

 

[ 세마포어의 경우, 카운트가 0인 경우 : non-signaled 상태, 0보다 큰 경우 : signaled 상태 ]

2. Semaphore 반환 함수
BOOL   ReleaseSemaphore (

HANDLE     hSemaphore,         // 반환하고자 하는 Semaphore 핸들

LONG         lReleaseCount,      // 증가시킬 크기 (일반적으로 1을 전달)

LPLONG     lpPreviousCount     // 변경되기 전의 카운트 값을 저장할 변수의 포인터를 전달
) ;

[ 반환한다는 것은 Semaphore의 카운트를 증가시킨다는 것을 의미 ]

'Development > C/C++' 카테고리의 다른 글

[Call by Value와 Call by Reference]  (1) 2012.05.05
[Event]  (0) 2011.12.01
[Mutex]  (0) 2011.12.01
[CriticalSection]의 사용  (0) 2011.12.01
[시스템 함수 정리]  (0) 2011.11.30
Posted by cyj4369
,