1. 基于 wait notify 模式的
synchronized(对象) {
while(条件不满足) {
对象.wait();
}
对应的处理逻辑
}synchronized(对象) {
改变条件
对象.notifyAll();
}
2. 基于 await signal 模式
private Lock lock = new ReentrantLock();
private Condition condition = lock.newCondition();lock.lock();
try {
改变条件
condition.signalAll();
} finally {
lock.unlock();
}lock.lock();
try{
while(条件不满足){
condition.await();
}
} finally {
lock.unlock();
}