我创建了这个愚蠢的程序来玩wait()
public class WaitTest {
public static void main(String [] args) {
System.out.print("1 ");
synchronized(args){
System.out.print("2 ");
try {
args.wait();
args.notifyAll();
}
catch(InterruptedException e){ System.out.print("exception caught");}
System.out.print("3 ");
}
}
}
wait(100)
在我的机器上,除非我写或其他毫秒数,否则代码永远不会打印 3 。为什么是这样?