데드락

· 개발
모든 스레드가 락을 동일한 순서로 확보하려 할 때 데드락이 발생할 수 있는데, 여기에서 락을 확보하는 순서는 전적으로 메소드를 호출하는 인자의 순서에 달렸다.따라서 두 개의 스레드가 메소드를 동시에 호출하되, 한쪽 스레드는 X에서 Y로의, 다른 쪽 스레드는 Y에서 X로 호출될 때, 데드락이 발생한다. public void transferMoney(Account fromAccount, Account toAccount, DollarAmount amout) { synchronized (fromAccount) { synchronized(toAccount) { // ... } }}위와 같이 중첩된 구조에서 락을 가져가는 상황에서 데드락을 찾아낼 수 있다.락을..
belljun
'데드락' 태그의 글 목록