세마포어(semaphores)는 POSIX 사양에서 원래 Pthreads 확장의 일부분이 아니었다.
본질적으로 세마포어는 자원 카운트로 사용되는 단순한 정수이다. 세마포어를 이용해 쓰레드 안전하게 만들기 위해 원자적 동작(검사와 락)이 사용된다. POSIX 세마포어는 초기화와 해체, 증가/감소를 지원하며 세마포어가 논-제로 값에 도달하기를 대기하는 것도 지원한다.
세마포어 관련 포스팅: "Semaphore(세마포어): structure for concurrency control", https://velog.io/@jinh2352/Semaphore%EC%84%B8%EB%A7%88%ED%8F%AC%EC%96%B4-structure-for-concurrency-control