对象的notify方法的含义和对象锁释放的三种情况
1,notify的含义
(1)notify一次只随机通知一个线程进行唤醒
(2)在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁,
要等到执行notify方法的线程将程序执行完 ,也就是退出sychronized代码块后,当前线程才会释放锁,
而呈wait状态所在的线程才可以获取该对象锁。
2,对象锁释放的三种情况
| 序号 | 场景 |
| 1 | 执行完同步代码块就会释放对象的锁 |
| 2 | 在执行同步代码块的过程中,遇到异常而导致线程终止,锁也会被释放 |
| 3 | 在执行同步代码块的过程中,执行了锁所属对象的wait方法,这个线程会释放对象锁,而此线程对象会进入线程等待池中,等待被唤醒 |
浙公网安备 33010602011771号