这段代码将如何工作:
boolean flag=true;
while(flag){
wait();
flag=!flag;
}
flag = !flag 会被执行吗?此外,如果将 flag 设置为静态变量(它在实例之间共享)并启动包含以下代码的两个线程:
for(int i=0;i<5;i++){
flag=!flag;
while(flag){
System.out.println("*");
wait();
}
notify();
}
为什么程序在打印随机数量的'*'后停止?(即使在使用同步之后)。请解释 while 循环中 wait() 的行为。