데드락 발생과 락 순서 회피 구조
deadlock
Thread Am1 보유, m2 대기
Thread Bm2 보유, m1 대기
cycle wait서로 해제만 기다림
std::lock동시 잠금 시도로 순환 회피
Thread A→Thread B→cycle wait→std::lock
데드락 발생과 락 순서 회피 기준
점검
순서 고정여러 mutex는 모든 코드에서 같은 순서로 잠급니다.
scoped_lockC++17에서는 여러 mutex를 RAII로 함께 관리할 수 있습니다.
임계 구역락을 잡은 채 오래 걸리는 작업을 하지 않습니다.
진단대기 그래프에서 원형 의존성이 보이면 데드락 후보입니다.