728x90
monitor
-
Java - Mutex & Semaphore & MonitorLanguage/Java 2022. 4. 6. 17:17
뮤텍스(Mutex Exclusion) 뮤텍스란? 멀티프로그래밍 환경에서 자원에 대한 접근에 제한을 강제하기 위한 동기화 기법이다. 뮤텍스의 특징은 아래와 같다. 1. boolean 타입의 lock 변수를 사용하기 때문에, 1개의 공유 자원에 대한 접근을 제한한다. 2. 공유 자원을 사용 중인 스레드가 있을 때, 다른 스레드가 공유 자원에 접근한다면 블로킹 후 대기 큐로 보낸다. 3. lock을 건 스레드만 lock을 해제할 수 있다. 세마포어(Semaphore) 세마포어란? 멀티프로그래밍 환경에서 다수의 프로세스나 스레드가 n개의 공유 자원에 대한 접근을 제한하는 방법으로 사용되는 동기화 기법이다. 세마포어의 특징은 아래와 같다. 1. 세마포어 변수를 통해 wait, signal을 관리한다. 세마포어 변..