为什么你应该在循环中检查等待条件? 迷失技术de小猪 3个月前 多线程 49 处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。因此,当一个等待线程醒来时,不能认为它原来的等待状态仍然是有效的,在 notify()方法调用之后和等待线程醒来之前这段时间它可能会改变。 这就是在循环中使用 wait()方法效果更好的原因,你可以在 Eclipse 中创建模板调用 wait和 notify 试一试。 回复 我来回复 暂无回复内容 请 登录 或者 注册 后回复。 相关问题 什么是乐观锁和悲观锁? 3个月前 0 60 CyclicBarrier 和 CountDownLatch 的区别? 3个月前 0 88 什么是重入锁? 3个月前 0 80 多线程上下文切换是什么意思? 3个月前 0 50 什么是活锁、饥饿、无锁、死锁? 3个月前 0 61 如何创建线程安全的单例模式 3个月前 0 48 为什么要使用线程池? 3个月前 0 78 线程和进程的区别是什么? 3个月前 0 83 线程 wait()方法使用有什么前提? 3个月前 0 73 提交任务时线程池队列已满会时发会生什么? 3个月前 0 112