- 코딩 공부/CS
데드락이란?
방개입니다
2023. 1. 26. 01:31
어떤 웨이팅 쓰레드 자기 자신의 상태에서 바뀌지 못하는거 -> 계속 대기
다른 쓰레드가 웨이팅 하는 쓰레드에 의해서 점유되어있을때 데드락이라고 한다.
데드락의 4개의 컨디션
1. 상호외제조건 Mutual Exclusion
2. 점유대기 Hold and Wait
3. 선점불가 No preemption
4. 원형대기 Circular Wait
4개가 다 만족이 되어야(동시에) 데드락이 생긴다.
리소스 어로케이션 그래프를 보면 싸이클이 없으면은 데드락이 생길리가 없다.
싸이클이 있으면 데드락이 있을수도 있지만 없을수도 있다.
RAG: Cycle 이 있는지 봐야한다.