문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 세마포어 (문단 편집) == 작동 원리 == 세마포어의 작동 원리는 상호 배제 알고리즘([[뮤텍스|Mutual Exclusion]])에 기반한다. 세마포어는 원자적으로 제어되는 정수 변수로, 일반적으로 세마포어의 값이 0이면 자원에 접근할 수 없도록 블럭을 하고 0보다 크면 접근함과 동시에 세마포어의 값을 1 감소시킨다. 반대로 종료하고 나갈 때에는 세마포어의 값을 1 증가시켜 다른 프로세스가 접근할 수 있도록 한다. 여기서 접근되는 자원은 [[뮤텍스#s-2.1|임계 구역]]으로 이 설정에 따라서 프로그램의 퍼포먼스가 극단적으로 하락할 수 있어 사용에 세심한 주의가 필요하다.[* 디자인 패턴의 싱글톤 패턴을 생각해보면 이해가 용이하다. 여러개의 스레드가 1개의 싱글톤 패턴으로 만들어진 오브젝트를 이용하려 할 때가 제어를 하는것이 바로 세마포어가 하는것과 동일한 역할이다.]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기