黑马程序员技术交流社区

标题: 线程在while里睡了一会,被唤醒时还去判断while括号?? [打印本页]

作者: 孙茜茜    时间: 2013-6-14 22:13
标题: 线程在while里睡了一会,被唤醒时还去判断while括号??
本帖最后由 孙百鑫 于 2013-6-15 09:39 编辑

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



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

QQ截图20130614221109.jpg

作者: ′х.|鰉❤耔    时间: 2013-6-14 23:33
这个一般是2个线程一起判断的,如果这个线程给睡了,那么就会执行其他一个线程,然后等这个线程执行完之后就有一个唤醒替他线程的方法,然后在通过while循环来判断是否启动这个线程,你没有看见这个while循环是一个死循环吗?只有不瞒住条件才不会执行这个wait的方法
作者: 刘晓    时间: 2013-6-14 23:43
这就是if和while的最大区别,是循环那节的知识。if是判断后就一直向下执行,而while是循环完大括号里面内容后,还要回来再执行一下while判断。总之一句话,用while的时候,都要再回来判断while条件一次。
作者: 孙百鑫    时间: 2013-6-15 06:56
楼主您好.如果问题得到解决的话.请及时改成已解决哦
作者: 孙茜茜    时间: 2013-6-15 09:18
孙百鑫 发表于 2013-6-15 06:56
楼主您好.如果问题得到解决的话.请及时改成已解决哦

我想改的啊,但是主贴末尾只有“回复”,没有“编辑”了~~~~
作者: 孙百鑫    时间: 2013-6-15 09:34
孙茜茜 发表于 2013-6-15 09:18
我想改的啊,但是主贴末尾只有“回复”,没有“编辑”了~~~~

我帮您修改了:)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2