美文网首页
notify和notifyAll区别

notify和notifyAll区别

作者: 向上吧_少年 | 来源:发表于2022-10-10 06:54 被阅读0次

    1.如果线程调用了对象的wait方法,那么线程便会处于该对象的等待池中,等待池中的线程不会去竞争该对象的锁;
    2.当有线程调用了notifyAll方法(唤醒所有wait线程)或notify方法(只随机唤醒一个wait线程),被唤醒的线程便会进入该对象的锁池中,所持中的线程回去竞争该对象锁,也就是说,调用了notify后只要一个线程会由等待池进入锁池,而notifyAll会将该对象等待池内的所有线程移动到锁池中,等待锁竞争;
    3.所谓唤醒线程,就是将线程由等待池移动锁池,notifyAll调用后,会将全部线程由等待池移动到锁池,然后参与锁池竞争,竞争成功则继续执行,如果不成功则留在锁池等待锁被释放后再次参与竞争。notify只会唤醒一个线程。

    相关文章

      网友评论

          本文标题:notify和notifyAll区别

          本文链接:https://www.haomeiwen.com/subject/qadkartx.html