对象的notify方法的含义和对象锁释放的三种情况
Posted Fight With Me!!!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象的notify方法的含义和对象锁释放的三种情况相关的知识,希望对你有一定的参考价值。
1,notify的含义
(1)notify一次只随机通知一个线程进行唤醒
(2)在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁,
要等到执行notify方法的线程将程序执行完 ,也就是退出sychronized代码块后,当前线程才会释放锁,
而呈wait状态所在的线程才可以获取该对象锁。
2,对象锁释放的三种情况
序号 | 场景 |
1 | 执行完同步代码块就会释放对象的锁 |
2 | 在执行同步代码块的过程中,遇到异常而导致线程终止,锁也会被释放 |
3 | 在执行同步代码块的过程中,执行了锁所属对象的wait方法,这个线程会释放对象锁,而此线程对象会进入线程等待池中,等待被唤醒 |
以上是关于对象的notify方法的含义和对象锁释放的三种情况的主要内容,如果未能解决你的问题,请参考以下文章