当其他线程使用Wait()调用获取对同一实例的锁定时,线程如何调用notify?

时间:2017-04-19 11:07:12

标签: java multithreading concurrency synchronization

我最大的困惑是当一个线程获得对象的锁定并假设我们有一个条件强制调用wait()(所以线程将等到获得通知),那么同一个实例的其他线程怎么可以调用notify因为第一个线程已经拥有实例上的锁。以下问题类似于生产者消费者,

 Class ABC{
    void getA(){
    synchronised(this){
         while(xyz){
          wait();
        }
        notify();
      }
    }   

    void getB(){
    synchronised(this){
         while(abc){
          wait()
        }
       notify();
      }
    }   
}

0 个答案:

没有答案