멀티 스레드 상황에서 생긴다.
스레드의 교착상태. 멀티 스레드들이 진행을 안하고 서로 눈치를 보고 대치하는 상황을 의미한다.
프로그램은 진행이 안되고 멈춰있는 상태
정리
situation where mutliple threads are blocked forever
ways to prevent a deadlock
- avoid having more than one lock
하나 이상의 멀티플 락을 선정하지 않는다.
- avoid nested locks
멀티플 락이 필요하면 synchronized block 안에 또 다른 synchronized block 을 포함하지 말 것
- lock order
만약 nested lock이 필요하면 순서를 동일한 순서로 적용할 것
- single thread
퍼포먼스가 중요하지 않은 상황이라면 싱글 스레드를 이용할 것
'컴퓨터공학 > Java' 카테고리의 다른 글
CS> Statement에 대해서 PreparedStatement 의 이점은? (0) | 2021.07.05 |
---|---|
CS> main method에서 static modifier 가 제거된다면? (0) | 2021.07.05 |
CS> 스레드를 생성하는 다른 방법 (0) | 2021.07.05 |
CS> 자바에서 marker interface는 무엇인가? (0) | 2021.07.04 |
CS> SimpleDataFormat 은 무엇인가? (0) | 2021.07.04 |