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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 孙百鑫 于 2013-6-15 09:39 编辑

不太确定while的用法了这里t1和t2线程都走这个锁,一个睡的线程被唤醒时怎么还会回去判断while???诧异这个顺序



QQ截图20130614221109.jpg (27.48 KB, 下载次数: 0)

QQ截图20130614221109.jpg

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

5 个回复

倒序浏览
这个一般是2个线程一起判断的,如果这个线程给睡了,那么就会执行其他一个线程,然后等这个线程执行完之后就有一个唤醒替他线程的方法,然后在通过while循环来判断是否启动这个线程,你没有看见这个while循环是一个死循环吗?只有不瞒住条件才不会执行这个wait的方法

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 如果加上代码加上注释.回答的会更好一点哦~.

查看全部评分

回复 使用道具 举报
这就是if和while的最大区别,是循环那节的知识。if是判断后就一直向下执行,而while是循环完大括号里面内容后,还要回来再执行一下while判断。总之一句话,用while的时候,都要再回来判断while条件一次。

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报
楼主您好.如果问题得到解决的话.请及时改成已解决哦
回复 使用道具 举报
孙百鑫 发表于 2013-6-15 06:56
楼主您好.如果问题得到解决的话.请及时改成已解决哦

我想改的啊,但是主贴末尾只有“回复”,没有“编辑”了~~~~
回复 使用道具 举报
孙茜茜 发表于 2013-6-15 09:18
我想改的啊,但是主贴末尾只有“回复”,没有“编辑”了~~~~

我帮您修改了:)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马