다음 코드는 SCJP6 책에이해 멀티 스레딩
class ThreadA {
public static void main(String [] args) {
ThreadB b = new ThreadB();
b.start();
synchronized(b) {
try {
System.out.println("Waiting for b to complete...");
b.wait();
} catch (InterruptedException e) {}
System.out.println("Total is: " + b.total);
}
}
}
class ThreadB extends Thread {
int total;
public void run() {
synchronized(this) {
for(int i=0;i<100;i++) {
total += i;
}
notify();
}
}
}
윌 둘 스레드 A와 B로 교착 상태가 각각의 동기화 블록 (B에 대한 잠금이 이전 코드 원인)?
나는 뭔가를 놓치고 있지만 무엇인지 잘 모릅니다.
시도해 보셨습니까? 이게 효과가 있니? 나는 교착 상태의 댓가를 치지 않을 것이다 –
사이드 노트 :이 상황에서는 교착 상태가 있었고 전체 대기/통보 메커니즘은 완전히 쓸모없는 완전 실패였다. – Dariusz
왜 -1입니까? 그것은 나에게 합당하게 보인다 : | –