黑马程序员技术交流社区

标题: 多线程中使用while和if有什么区别 [打印本页]

作者: 刘瑞    时间: 2014-8-20 18:02
标题: 多线程中使用while和if有什么区别
如题,多线程中使用while和if有什么区别?
毕老师经常用while(true) 仅仅是让执行语句循环运行吗?
而且用while(true),好像不能自动停止循环的。

作者: masai158    时间: 2014-8-20 18:02
while(true)  一般有标记的。

boolean flag = true
while(flag)

然后在提供一个方法。控制 flag
作者: 木易在他乡    时间: 2014-8-20 18:06
while就是要让满足条件的持续循环,这个条件经常使用if来控制,希望有帮到您.
作者: 0小菜鸟0    时间: 2014-8-20 22:58
多线程一般都会把while写成死循环,因为要线程跑起来,但是跑多久你是不知道的,在里面用if判断条件跳出,这样做的好处就是你可以随时控制多线程,一般会把if的判断条件做参数,这样可以在外面调用的时候可以控制线程
作者: zeus00456    时间: 2014-8-21 15:31
就是成心让它一直循环,这样即使线程在被唤醒后也会先在此进行判断,才去执行对应的操作(注意对应的操作在while外面,这个while就死专门用来判断线程是否执行后续操作的资格的)
作者: 静水流深2014    时间: 2014-8-25 19:27
while死循环
作者: 思如涌泉    时间: 2014-8-28 07:56
简单一句就是 if只判断一次,且线程停着挂在if的下一步
而 while是无限判断线程是否有执行权
作者: 毛毛毛玉    时间: 2014-9-23 11:11
一个线程可以理解为是在run函数结束后被销毁。但是有些时候一个线程是用来做监视/维护程序状态之类的事情的。所以要用无限的循环让它不会停下来。
作者: 未来就在那    时间: 2014-10-28 12:44
while死循环
作者: Mr.JUN    时间: 2014-11-4 14:00
死循环?
作者: 小马范    时间: 2014-12-8 20:11
思如涌泉 发表于 2014-8-28 07:56
简单一句就是 if只判断一次,且线程停着挂在if的下一步
而 while是无限判断线程是否有执行权 ...

这个是正解,while会一直判断,if判断后,若cpu没有给其执行权,后面再给,会继续向下执行; 而while会再次判断




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