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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

宋蓬勃

初级黑马

  • 黑马币:2

  • 帖子:15

  • 精华:0

© 宋蓬勃 初级黑马   /  2013-2-24 16:19  /  1484 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 宋蓬勃 于 2013-2-24 16:23 编辑

代码运行结束不了,跟毕老师视频里代码一样啊


class Ticket extends Thread
{
        private static int tick = 100;
        public void run()
        {
                while(true)
                {
                        if(tick>0)
                        {
                                System.out.println(Thread.currentThread().getName()+"sale : "+tick--);
                        }
                }
        }
}


class  TicketDemo
{
        public static void main(String[] args)
        {
                Ticket t1 = new Ticket();
                Ticket t2 = new Ticket();
                Ticket t3 = new Ticket();
                Ticket t4 = new Ticket();

                t1.start();
                t2.start();
                t3.start();
                t4.start();
        }
}

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
class Ticket extends Thread
{
        private static int tick = 100;
        public void run()
        {
                while(true)这儿设置的死循环. 当然结束不了了...按Ctrl+c结束吧
                {
                        if(tick>0)
                        {
                                System.out.println(Thread.currentThread().getName()+"sale : "+tick--);
                        }
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
李培根 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
这个代码是需要同步来进行优化和修改的,所以现在这个还不能自己结束,要按Ctrl+c来强制性结束程序,
回复 使用道具 举报
罗海云 发表于 2013-2-24 16:29
class Ticket extends Thread
{
        private static int tick = 100;

多谢,感觉我很弱啊
回复 使用道具 举报
class Ticket extends Thread
{
         private static int tick = 100;
         public void run()
         {
                 while(true)
                 {
                         if(tick>0)
                         {
                                 System.out.println(Thread.currentThread().getName()+"sale : "+tick--);
                         }
                 }
         }
}


class  TicketDemo
{
         public static void main(String[] args)
        {
                 Ticket t1 = new Ticket();
                 Ticket t2 = new Ticket();
                 Ticket t3 = new Ticket();
                 Ticket t4 = new Ticket();

                t1.start();
                 t2.start();
                 t3.start();
                 t4.start();
         }
}

里面存在一个无限循环,我想楼主肯定以为100减完了 ,程序就会结束吧,其实不能,因为虽然减完了,但是程序并没有停掉,while(true)还在那里空转,只能Ctrl+c。

评分

参与人数 1技术分 +1 收起 理由
高境 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马