黑马程序员技术交流社区

标题: 买票的例子里为什么没有1~17号票呢? [打印本页]

作者: zhohao    时间: 2014-6-17 15:29
标题: 买票的例子里为什么没有1~17号票呢?
本帖最后由 zhohao 于 2014-6-30 08:24 编辑

class Ticket extends Thread
{
        private int tick;
        public void run()
        {
                for (int tick = 0;tick<=100 ;tick++ )
                {
                        System.out.println(this.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();
        }
}
我使用的是for循环,为什么会出现这种情况呢?循环是从18以后开始的,为什么会出现这种情况?

作者: 2528870651    时间: 2014-6-17 15:49
没有啊 有0-17  啊
作者: 黄宝宝    时间: 2014-6-17 19:09
我copy了下来,运行了下,有0-17,不过这样是有安全问题的,我试着加个锁,运行后发现还是有安全问题,把自己绕进行1分钟了,顿时醒悟,原来是继承Thread了.
作者: zhohao    时间: 2014-6-18 11:34
黄宝宝 发表于 2014-6-17 19:09
我copy了下来,运行了下,有0-17,不过这样是有安全问题的,我试着加个锁,运行后发现还是有安全问题,把自己绕进 ...

谢谢,看来还得继续加油啊




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