Java Thread Notes
文章目录
wait() 和 notify()
wait()
作用
- 暂时性释放锁
- 在 synchronized 块中间暂时释放锁
特性
- native 方法
调用位置
只能在 synchronized 方法内部执行
- 对应 this 锁, this.wait()
在 synchronized 块内部执行
- 对应 锁对象的 wait() 方法
机理
- this.wait()
- 执行后释放锁
- 返回后再试图获取锁
notify() 和 notifyAll()
作用
- 唤醒 wait()
- 唤醒正在等待锁的线程
使用
- 在相同的锁对象上(调用 wait()的锁对象)
调用 notify()
- eg: this.notify()
区别
notify()
- 只唤醒一个线程
notifyAll()
- 唤醒所有等待线程
文章作者
上次更新 2022-03-07 (de34a70)