0
我知道這個話題已經在很多地方討論過了。但是他們都在談論它在多線程環境中的使用。通知受限於同步構造
在以下示例中,爲什麼notify()
應該被包圍?當關鍵字被使用時,它應該做的事情是徒勞的。但爲什麼例外,java.lang.IllegalMonitorStateException
,當它不使用?
public class HelloWorld {
public static void main(String[] args) {
ABC c = new ABC();
c.put(0);
}
}
class ABC {
public synchronized void put(int value) { // why synchronized now!
System.out.println("Put: " + value);
notify();
}
}
'notify()'在單線程環境中沒有用處。 –
http://stackoverflow.com/questions/2779484/why-must-wait-always-be-in-synchronized-block – FaNaJ