멀티스레드
-
모니터와 세마포어운영체제 2023. 8. 15. 13:04
스레드와 공유 자원 사이의 상호작용을 할 제어할때 스레드 동기화 메커니즘을 사용하게 됩니다. 스레드 동기화는 모니터(Monitor)와 세마포어(Semaphore)로 구성됩니다. 먼저 모니터는 상호 배제 자물쇠로 보호되는 집단을 뜻합니다. 스레드는 자물쇠를 획득하기 전까지는 모니터에 속하는 루틴을 실행 할 수 없습니다. 즉 한 모니터 안에서는 하나의 스레드씩 실행되게 됩니다. 다른 스레드드들은 실행 중인 스레드에서 그 자물쇠를 반납할 때 까지 대기해야합니다. 모니터에 속한 스레드가 특정 이벤트까지 기다리기 위해 스스로 멈추면 대기 중이던 다른 스레드가 모니터로 진입할 수 있습니다. 세마포어는 공유자원을 보호하기위한 자물쇠만 있는 것이라고 생각하면 됩니다. 스레드에서 공유 자원을 사용하려면 자물쇠를 획득해야..