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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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  TicketTest
{
    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();
        
        System.out.println("over");
    }
}


评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

18 个回复

倒序浏览
同问啊,昨晚刚看到这个多线程,每次运行后都没强制结束,结果电脑发热的不行.
回复 使用道具 举报
因为老毕用了ctrl+c...
没有加循环关闭的话  可以自己在任务管理器关掉javaw
回复 使用道具 举报
用ctrl+c吧
回复 使用道具 举报
加一个判断里面来结束线程
回复 使用道具 举报
围观大神回答
回复 使用道具 举报
xmmsbb 中级黑马 2015-5-23 19:09:21
7#
while(true)是一个无线循环。需要强制停止,ctrl+c中止
回复 使用道具 举报
本帖最后由 qq496099229 于 2015-5-23 19:29 编辑

你可以在if后面加上
else{
       break;     
}
就会结束了

只解决你当前的问题而已。
但是还没有解决共享数据tick的同步问题。希望能帮到你!同步自己试试!
回复 使用道具 举报 1 1
先围观下大神回答
回复 使用道具 举报
ZSMAN 中级黑马 2015-5-23 22:24:30
10#
qq496099229 发表于 2015-5-23 19:28
你可以在if后面加上
else{
       break;     

不好意思,刚刚手滑了,点到了“反对”,I'm sorry~{:2_44:}
回复 使用道具 举报
为什办要这样写呢?你直接用while(tick>o)
回复 使用道具 举报 1 0
sss18310878521 发表于 2015-5-23 22:35
为什办要这样写呢?你直接用while(tick>o)

老毕的视频里面的
回复 使用道具 举报
ZSMAN 发表于 2015-5-23 22:24
不好意思,刚刚手滑了,点到了“反对”,I'm sorry~

没事,有什么问题都可以探讨的嘛。
回复 使用道具 举报

难道while(tick>0)不能实现吗?你那样写肯定是死循环,你只是结束了if判断语句,但是并没有跳出那个while循环,懂吗?
回复 使用道具 举报
sss18310878521 发表于 2015-5-23 22:58
难道while(tick>0)不能实现吗?你那样写肯定是死循环,你只是结束了if判断语句,但是并没有跳出那个while ...

可以的,他这个测试的是不和谐的那个情况
回复 使用道具 举报
thoris 发表于 2015-5-23 11:58
因为老毕用了ctrl+c...
没有加循环关闭的话  可以自己在任务管理器关掉javaw

我说呢,他的居然正常,我也是Ctrl+c才关闭循环的
回复 使用道具 举报
synchronized(this){}
回复 使用道具 举报
synchronized(this){ if(tick>0)
                System.out.println(Thread.currentThread().getName()+"sale:"+tick--);
               else
                    break;
}
回复 使用道具 举报
很高端的样子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马