Deadlock
데드락은 서로가 가진 락을 기다리는 순환 대기다
T1은 B를 기다리고 T2는 A를 기다린다. 둘 중 하나를 실패시키지 않으면 진행할 수 없다.
T1은 A를 보유하고 B를 기다리며, T2는 B를 보유하고 A를 기다리는 순환 대기
T1
A 보유 · B 대기
T2
B 보유 · A 대기
A
B
holds
holds
waits B
waits A
보유한 락
기다리는 락
T1 ↔ T2 순환 대기
대응:
접근 순서를 통일하고, 타임아웃/NOWAIT/재시도 정책을 준비한다.