컴퓨터공학/Java
CS> deadlock은 무엇인가??
Milhouse Mussolini Van Houten
2021. 7. 5. 15:42
멀티 스레드 상황에서 생긴다.
스레드의 교착상태. 멀티 스레드들이 진행을 안하고 서로 눈치를 보고 대치하는 상황을 의미한다.
프로그램은 진행이 안되고 멈춰있는 상태
정리
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
퍼포먼스가 중요하지 않은 상황이라면 싱글 스레드를 이용할 것