condition的作用是在該線程被以某種意料之外的方式喚醒時,保證程序仍然按照正確的邏輯執行。也就是說,如果該線程不是由以下方法喚醒的,condition值可能為falsesynchronized(obj) {
condition = true;
obj.notify();
}
如果不對其進行判斷,那麽後面的doSomething可能會出錯。
while(!condition) {
obj.wait();