TODAY : / TOTAL :

[API] Semaphore (세마포어)

  • Share this:
반응형
CreateSemaphore (
보안설정(NULL),
InitalCount (초기 갯수),
MaximumCount (최대 갯수),
세마포어 지정 이름
);

* WaitForSingleObject 함수에 세마포어 핸들을 넘겨주면, 세마포어에 지정된 정수값(InitalCount) 을 1 감소시킨다.
  ( 0 일 경우 대기하게 됨. )

* ReleaseSemaphore 를 이용하여, 사용이 끝난 세마포어의 Count  값을 증가시켜주고,  0 이라 대기중이였던 세마포어에게 제어권을 넘겨줌.

* 세마포어 객체가 사라지는 시점 : 발급해준 모든 핸들을 CloseHandle() 함수를 통해 반환받게 되면 세마포어 객체 소멸.
( 세마포어는 임계영역과 달리 O.S 에서 생성되는 객체이므로, 하나의 프로세스에만 사용되지 않고 O.S 전체 전역 객체로 사용됨. )


반응형

SEARCH

태그로 찾아보기