黑马程序员技术交流社区

标题: 有关多线程中的while(true)的作用: [打印本页]

作者: 茄子    时间: 2014-6-8 18:45
标题: 有关多线程中的while(true)的作用:
这毕老师视频中的一个售票的小例子,其中用到了while(true)

下面是我的程序:

class Ticket2 implements Runnable
{
        private int tick=100;
        public void run()
        {
                while(true)………………………………………………………………………………………………………………在这里的while(true)有什么作用??
                                                                                                                                             去除了之后,运行结果只有四行,每一个线程运行一次??为什么
                {
               
                        if(tick>0)
                        {
                       
                                System.out.println(Thread.currentThread()+"^^^^^tick run    "+tick--);                       
                        }
                }
        }
}

public class RunnableTicketDemo {

        public static void main(String[] args) {
                Ticket2 t=new Ticket2();
                Thread d1=new Thread(t);
                Thread d2=new Thread(t);
                Thread d3=new Thread(t);
                Thread d4=new Thread(t);
                d1.start();
                d2.start();
                d3.start();
                d4.start();
        }

}

求教大神啊

作者: 西门吹风    时间: 2014-6-8 19:03
run方法中的代码就是线程要运行的代码,用while(true)是为了让run方法中的代码不断重复的运行,也就是让线程不停的运行,便于查看效果,如果去掉,run运行结束,线程也就结束了。自然只打印四行
作者: 丁绍然    时间: 2014-6-8 19:12
while语句就是判断对就运行,他直接给个true那就是一直循环运行呗
作者: 茄子    时间: 2014-6-8 19:15
西门吹风 发表于 2014-6-8 19:03
run方法中的代码就是线程要运行的代码,用while(true)是为了让run方法中的代码不断重复的运行,也就是让线 ...

好像有点明白了,这里的while也是一个循环,只不过是判断条件被强行指定为true,这样的话,就是一个循环体而已,而且程序的循环不会结束,(我说呢,今天下午的电脑这么卡,我都重启好几遍了,原来是程序一直在运行而已,只是没有输出啊!!我了个去!!坑)
作者: ☆枫の云    时间: 2014-6-8 22:03
茄子又在搞笑了{:2_32:}
作者: java木    时间: 2014-6-8 22:28
我也不知道哎.............
作者: 茄子    时间: 2014-6-8 22:31
☆枫の云 发表于 2014-6-8 22:03
茄子又在搞笑了

没有,真的,今天下午电脑太卡,尤其是Eclipse。卡的要死,我都关闭开启了好多次了!!!!这坑爹的程序!!!
作者: 四顾行者    时间: 2014-6-8 23:22
加个同步锁吧,否则线程会出问题
作者: 茄子    时间: 2014-6-9 07:50
四顾行者 发表于 2014-6-8 23:22
加个同步锁吧,否则线程会出问题

一看大哥说话,就知道是过来人啊!!




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