Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

윈도 세마포어 사용하기

세마포어는 여러 프로세스나 쓰레드에 의해 공유 되는 자원을 보호하기 위한 목적으로 사용한다. 세마포어(:12)에 대한 기본적인 내용은 리눅스 세마포어 사용하기를 읽어 보기 바란다.

유닉스에서 세마포어는 매우 오래된 동기화 기술로 최근에는 POSIX(:12) 세마포어 API를 사용하고 있다. 안타깝게도 윈도는 POSIX 세마포어 인터페이스를 지원하지 않는다. 독자적인 세마포어 API를 제공하므로 별도로 공부해야 한다.

짜증나긴 하지만 동일한 개념을 가지고 있어서 이미 POSIX 세마포어를 경험했다면 쉽게 익힐 수 있다는데서 그나마 위안을 삼을 수 있다.

세마포어 생성

CreateSemaphore함수로 세마포어를 만들 수 있다.
HANDLE WINAPI CreateSemaphore(
  __in_opt  LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
  __in      LONG lInitialCount,
  __in      LONG lMaximumCount,
  __in_opt  LPCTSTR lpName
);

계속 ...