개요세마포어(Semaphore)는 멀티스레드 및 멀티프로세스 환경에서 공유 자원에 대한 접근을 제어하기 위해 사용되는 대표적인 동기화 기법이다. 1965년 에츠허르 다익스트라(Edsger W. Dijkstra)에 의해 제안되었으며, 운영체제와 병렬 프로그래밍에서 필수적인 개념으로 자리 잡았다. 경쟁 상태(Race Condition)를 방지하고 데이터 일관성을 유지하는 데 핵심적인 역할을 한다.1. 개념 및 정의세마포어는 정수 값을 기반으로 동작하는 동기화 도구로, 자원의 사용 가능 개수를 나타낸다. 프로세스 또는 스레드는 세마포어 값을 감소(P 연산)시키거나 증가(V 연산)시키며 자원 접근을 제어한다. 값이 0일 경우 해당 자원은 사용 중이며, 접근 요청은 대기 상태에 들어간다.2. 특징항목설명영향카운팅..