Java多线程为什么使用while循环来调用wait方法
- 当条件不满足时,当前线程调用wait等待条件成立。
- wait方法是当前线程进入等待状态,等待被唤醒。
- 当其他获取到该对象锁的线程释放锁时,上面的线程有可能被意外唤醒(就是重新获取锁),但是此时上面线程是不满足条件的,导致它破坏了被锁保护的约束关系,引起意外后果。
本文探讨了Java多线程编程中使用while循环调用wait方法的原因。当条件不满足时,线程调用wait等待条件成立。为了避免意外唤醒导致的状态不一致问题,采用while循环检查条件是否真正满足变得至关重要。
8777

被折叠的 条评论
为什么被折叠?