모니터 (동기화)

전산학에서 모니터(monitor)는 프로세스 또는 스레드를 동기화하는 방법 중 하나로서, 그 방법으로 활용하기 위해 구현된 기능 또는 모듈을 뜻하기도 한다. 주로 고급 언어에서 이 기능을 지원하며, 한번에 하나의 프로세스만 모니터에서 활동하도록 보장해준다. 예를 들어, 자바에서 스레드를 동기화하는 방법으로 모니터가 사용할 수 있다.

동작 
어떤 공유 데이터에 대해 모니터를 지정해놓으면, 프로세스는 그 데이터를 접근하기 위해 모니터에 들어가야만 한다. 즉, 모니터 내부에 들어간 프로세스에게만 공유 데이터를 접근할 수 있는 기능을 제공하는 것이다. 또한 프로세스가 모니터에 들어가고자 할 때 다른 프로세스가 모니터 내부에 있다면 입장 큐에서 기다려야 한다.

세마포어와 모니터 
세마포어는 동기화 함수의 제약 조건을 고려해야 하는 반면, 모니터는 프로시져를 호출하여 간단히 해결할 수 있다.

같이 보기 
 세마포어

동시성 제어