你是如何调用wait() 方法的?使用 if 块还是循环?为什么
发布时间:2022-09-20 11:46:55
发布人:wjy

处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。
wait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。
下面是一段标准的使用 wait 和 notify 方法的代码: