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处继续向下执行
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


