<aside> 📚 http://www.yes24.com/Product/Goods/71768958 를 읽고 간단하게 정리한 내용입니다.

</aside>

정의

왜 발생하는가?

복수의 뮤텍스끼리의 충돌

뮤텍스(Mutex)란?

뮤텍스가 교착상태와 어떻게 연관되는가?

여러 뮤텍스의 잠금 순서가 꼬일 때 교착상태가 발생한다. <<

멀티 스레드 사용 시, 여러 뮤텍스가 생기고 여러 스레드가 각각의 뮤텍스를 사용해야 하는데, 특정 뮤텍스에 대한 잠금이 풀리지 않으면 그 자원을 필요로 하는 스레드들의 작업이 완료되지 못하고 교착상태에 빠짐

→ 예를 들어 스레드 A가 뮤텍스 A를 잠갔다가 반납하고 뮤텍스 B를 사용하려 하고 스레드 B는 뮤텍스 B를 잠갔다가 반납한 후 뮤텍스 A를 사용하려는 경우, 뮤텍스 A, B의 잠금 순서가 어긋나면 스레드 A와 스레드 B는 필요한 뮤텍스를 얻지 못하게 되므로 영원히 작업을 끝마치지 못하게 됨