반응형

교착상태
두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고있어 결과적으로 아무것도 완료되지 못하는 상태
교착 상태 조건
- 상호 배제
한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없는 것 - 점유 대기
자원을 할당받은 상태에서 다른 자원을 할당받기를 기다리는 상태 - 비선점
자원이 강제적으로 해제될 수 없으며, 점유하고 있는 프로세스의 작업이 끝난 이후에만 해제되는 것 - 원형대기
프로세스들이 원의 형태로 자원을 대기하는 것을 의미한다.
Java에서 데드락 해제하는 방법
1. synchronized 블락안에 synchronized 블락 넣지 않기
synchronized(resoucre1){
synchronized( resoucre2)
}
synchronized(resoucre2){
synchronized( resoucre1)
}
2. reentrantLock 사용 경우 tryLock()을 통해서 타임아웃을 걸고
lockinterruptibly() 인터럽트를 통해 깨울 수 있도록 한다.

반응형
'CS > 면접' 카테고리의 다른 글
해시 충돌 (0) | 2025.09.04 |
---|---|
Call By Value와 Call By Reference (2) | 2025.09.01 |
태태코딩 - 시스템 간의 비동기 연동방식(백엔드 질문) (6) | 2025.08.25 |
캐시 스템피드 (1) | 2025.08.22 |
태태코딩 - 관계형 데이터베이스와 비 관계형 데이터베이스 차이(백엔드 질문) (0) | 2025.08.21 |