wait()、notify()和notifyAll()简介说明
下文笔者讲述wait(),notify(),notifyAll()简介说明,如下所示
wait(),notify(),notifyAll()简介
wait(): 让持有该对象锁的线程等待 notify(): 唤醒任意一个处于waiting状态的线程 notifyAll(): 唤醒所有处于waiting状态的线程
wait(),notify(),notifyAll()之间关系
调用对象的wait()方法使线程暂停运行 通过notify/notifyAll方法唤醒wait()暂停的线程。
注意事项: 调用对象的wait()、notify()、notifyAll()方法 需要拥有对象的监视锁,即他们只能在同步方法(块)中使用 调用wait()方法会使线程暂停并让出CPU资源, 同时释放持有的对象的锁 多线程使用notify()容易发生死锁,一般使用notifyAll() 被notify()、notifyAll()唤醒后,线程不会立即执行, 而是需要重新竞争对象锁, 获得锁的线程可以从wait处继续向下执行
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。