CS 정리 - 데드락
👨🏻💻 데드락[ 1. 데드락이란? ] 데드락(Deadlock, 교착 상태)은 둘 이상의 작업이 서로가 가진 자원을 기다리느라 영원히 멈춰 버리는 상태이다.누구도 먼저 양보하지 않기 때문에 외부 개입 없이는 절대 풀리지 않는다. 예를 들어, 좁은 외나무다리를 떠올리면 쉽다.양쪽에서 두 사람이 동시에 다리에 올라 가운데서 마주쳤는데, 둘 다 상대가 비켜야 지나갈 수 있다며 버티면아무도 건너지 못한다. 메인 스레드에서 데드락이 발생하면 앱이 그대로 멈추고, 일정 시간이 지나면 시스템 워치독(Watchdog)이 앱을 강제 종료한다. [ 2. 데드락 발생의 4가지 필요조건 ] 데드락은 아래 네 조건이 동시에 모두 성립할 때만 발생한다.이를 1971년 논문 저자의 이름을 따서 Coffman 조건이라고 부른..