wait/notify await/signal 经典范式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shida_csdn/article/details/81513875

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();
}

猜你喜欢

转载自blog.csdn.net/shida_csdn/article/details/81513875
今日推荐