关于wait()方法的调用者

自己认为的, 不知道对不对,

  wait()方法是定义在Object类中的,

  对于sychronized限定的代码而言, 调用者是当前的监控器对象, 可以理解为java内部将该监控器与当前线程进行了绑定, 当synchronized中的代码执行完毕后, 该绑定又被一种特殊的方式解除了

  对于ReentrantLock锁而言, 也是类似, 当拿到锁的时候, 当前线程与lock进行了绑定, 所以, 可以调用lock.wait(), 释放锁后 , 该绑定又被一种特殊的方式解除了

posted @ 2020-10-02 16:03  0龙行者0  阅读(782)  评论(0编辑  收藏  举报