Wait - notify
4. Wait-notify
原理:lock.wait/lock.notify 只有获得了该对象锁才能调用wait方法, 调用之后会加入Monitor的waitSet进入堵塞状态, 直到别的线程获得对象锁并且调用nofity/notifyall |
![]() |
|---|---|
Sleep() && wait() sleep不会让当前线程释放锁, wait会释放锁,并且加入waitSet堵塞等待 |
![]() |
| 模板代码 |
注意这里是notifyAll(),叫醒所有,然后while()发现不成立,继续wait 如果是notify的话随机叫醒会出现虚假叫醒 |


