您的位置:首页 > 其它

对象的notify方法的含义和对象锁释放的三种情况

2016-05-27 16:44 204 查看
1,notify的含义
(1)notify一次只随机通知一个线程进行唤醒
(2) 在执行了notify方法之后,当前线程不会马上释放该对象锁,呈wait状态的线程也不能马上获得该对象锁,
要等到执行notify方法的线程将程序执行完 ,也就是退出sychronized代码块后,当前线程才会释放锁,
而呈wait状态所在的线程才可以获取该对象锁。
2,对象锁释放的三种情况

序号场景
1执行完同步代码块就会释放对象的锁
2在执行同步代码块的过程中,遇到异常而导致线程终止,锁也会被释放
3在执行同步代码块的过程中,执行了锁所属对象的wait方法,这个线程会释放对象锁,而此线程对象会进入线程等待池中,等待被唤醒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: