A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 蔡增辉 中级黑马   /  2013-5-16 20:14  /  1422 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 蔡增辉 于 2013-5-19 20:04 编辑

请教大家在多线程中锁的释放和获得的问题,代码如下。
问题:
1. 当 t1线程进入wait状态后(此时t1已持有锁),t1的锁是不是已经释放?否则 t2 又是怎么获得锁的?
2. 若1中答案是肯定的,那么在t2 进入wait状态后,t1 又是怎么获得锁的? 因为此时 t1 并不是从synchronized 语句开始运行的。

1.PNG (16.32 KB, 下载次数: 0)

1.PNG

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1

查看全部评分

1 个回复

倒序浏览
1,兄弟,你的 t1 和 t2 要说清楚。

2,线程wait() 之后,锁释放;

3,t2线程wait() 之后, t1线程要重新判断锁,要从synchronized 语句开始执行。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马