黑马程序员技术交流社区

标题: 疑难杂症,求解答 [打印本页]

作者: die_er    时间: 2014-3-21 08:44
标题: 疑难杂症,求解答
IterruptThread it = new IterruptThread();
                new Thread(it).start();
                new Thread(it).start();
                int i = 0;
                while(true){
                        if(i == 60){
                                it.changeBl();
                                break;
                        }
                        System.out.println(Thread.currentThread().getName()+"--main run"+i);
                        i++;
这是main函数中的,两个线程,一个while循环,这样线程和循环都会运行结果,
但为什么把while循环改成for循环后,for循环就不运行结果了,而是一直线程运行呢?
求解答
作者: die_er    时间: 2014-3-21 10:11
线程里面也有个while循环语句
作者: die_er    时间: 2014-3-21 10:12
么人吗:L
作者: 学习代码    时间: 2014-3-21 10:33
在知道循环次数的时候两者都是可以使用的,但是你想要做的是让他一直循环的话,就要使用while循环,因为每次都需要判断。
作者: leon_hm    时间: 2014-3-21 11:25
楼主改成for循环的时候是怎么写的?
建议把整个代码都贴出来
作者: die_er    时间: 2014-3-21 12:36
leon_hm 发表于 2014-3-21 11:25
楼主改成for循环的时候是怎么写的?
建议把整个代码都贴出来


IterruptThread it = new IterruptThread();
                new Thread(it).start();
                new Thread(it).start();
               // int i = 0;
              for(int i=0; i<=60; i++){
                        if(i == 60){
                                it.changeBl();
                                break;
                        }
                        System.out.println(Thread.currentThread().getName()+"--main run"+i);
                        i++;
作者: die_er    时间: 2014-3-21 12:42
die_er 发表于 2014-3-21 12:36
IterruptThread it = new IterruptThread();
                new Thread(it).start();
                ...

呵呵......搞错了for循环里i的范围搞错了,因为一个等号纠结了一上午
作者: syusikoku    时间: 2014-3-21 13:01
while..true是死循环。建议你使用flag标记。找到之后可以把标记给设置成false.




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