Open freakFlow opened 4 months ago
뮤텍스
: lock(), unlock() 두개의 상태를 가지며, 공유자원에 대해 하나의 스레드 또는 프로세스 접근을 보장합니다. 세마포어
: 간단한 정수값과 wait(), signal()로 공유 자원에 대한 접근을 처리합니다. 모니터
: 공유 자원을 숨기고, 해당 접근에 대해 인터페이스를 제공하며 모니터큐를 통해 작업을 순차적으로 처리합니다.세마포어는 공유 자원에 접근할 수 있는 최대 허용치만큼 사용자의 접근을 허용하게 합니다. 뮤텍스는 허용치가 1인 세마포어와 같으며 공유자원에 대해 단독 접근만 허용합니다.
Mutex
Mutual Exclusion(상호 배제)의 약자로, 한 번에 하나의 스레드 or 프로세스만 접근할 수 있도록 합니다.
Semaphore
동시에 리소스에 접근할 수 있는 프로세스 or 스레드 수를 제한하는 방식입니다. (한 개 이상 가능)
Binary Semaphore : 뮤텍스와 유사하게 작동하며(단일), 0과 1 값을 가집니다.
Counting Semaphore : 동시에 여러 스레드(프로세스)가 공유자원에 접근할 수 있도록 허용합니다.