CS
-
[OS] 뮤텍스와 세마포어는 무엇일까?CS/OS 2024. 12. 5. 23:43
이 개념들이 나오게 된 이유는 공유 자원에 대한 경합때문이다.여러 스레드가 동작을 할 때 한 공유 자원에 대해서 접근하게 된다면 데드락과 성능 저하 그리고 데이터 일관성을 잃을 수 있다. 뮤텍스와 세마포어는상호배체를 동기화 기법으로 구현한 것이다. 뮤텍스 뮤텍스는 락이다.Mutual Exclusion의 합성어이다.여래 개의 프로세스나 스레드가 공유 자원에 동시에 접근하지 못하게 하는 락이다. 한 번에 하나의 스레드만 자원을 사용할 수 있도록 보장한다자원을 사용하는 스레드가 잠금(lock)을 획득하고, 사용이 끝나면 잠금을 해제(unlock)한다잠금 또는 해제인 이진 상태만을 가진다. 자바 예시 코드를 클로드를 사용해서 작성해보았다. public class Mutex { private static i..