#include <windows.h>
BOOL ReleaseSemaphore(반납할obj, 초기값변경, 이전 세마포어값저장주소)
세마포어 기반 동기화의 형태
WaitFosingleObject(hSemaphore, INFINITE);
//임계영역의 시작
//.....
//임계영역의 끝
ReleaseSemaphore(hSemaphore, 1, NULL);
이벤트 (Event)
이벤트 오브젝트 생성
자동으로 non-signaled 상태로 돌아가지 않는 manual - reset 모드 커널 오브젝트로 생성 가능
앞서 보인 함수들은 auto-reset모드로 커널 오브젝트를 생성해 자동으로 signaled <--> non - signaled 변환
manual - reset 모드로 이벤트 오브젝트를 생성시, 이벤트 상태 변경
#include < windows.h>
BOOL ResetEvent(HANDLE hEvent); // to the non-signaled
BOOL SetEvent(HANDLE hEvent); // to the signaled
// BOOL -> 성공 TRUE, 실패 FALSE