黑马程序员技术交流社区

标题: 0,1,2跑哪去了?求解 [打印本页]

作者: 路西法    时间: 2014-1-11 20:45
标题: 0,1,2跑哪去了?求解
随便敲的一个书上的例题,不知道为什么运行结果  主线程总是没有输出main0 main1main2,但是把底下去掉一个new InvokeRun().start()时   又正常了


class InvokeRun extends Thread
{
        private int i;
        public void run()
        {
                for(;i<100;i++)
                {
                        System.out.println(Thread.currentThread().getName() + ">>>>>>>>>>>>>>>>>"+i);
                }
        }
        public static void main(String[] args)
        {
                for(int i=0;i<100;i++)
                {
                System.out.println(Thread.currentThread().getName()+ ">>>>>>"+i);
                        if(i==20)

                        {
                               
                        new InvokeRun().start();
                        new InvokeRun().start();
                       
                        }
               
                }
        }
}


作者: 张志明    时间: 2014-1-11 21:07
类上加入 public   运行 测试  
:结果有main0,main1,main2
  1. main>>>>>>0
  2. main>>>>>>1
  3. main>>>>>>2
  4. main>>>>>>3
  5. main>>>>>>4
  6. main>>>>>>5
  7. main>>>>>>6
  8. main>>>>>>7
  9. main>>>>>>8
  10. main>>>>>>9
  11. main>>>>>>10
  12. main>>>>>>11
  13. main>>>>>>12
  14. main>>>>>>13
  15. main>>>>>>14
  16. main>>>>>>15
  17. main>>>>>>16
  18. main>>>>>>17
  19. main>>>>>>18
  20. main>>>>>>19
  21. main>>>>>>20
  22. Thread-0>>>>>>>>>>>>>>>>>0
  23. main>>>>>>21
  24. Thread-1>>>>>>>>>>>>>>>>>0
  25. Thread-0>>>>>>>>>>>>>>>>>1
  26. Thread-0>>>>>>>>>>>>>>>>>2
  27. Thread-0>>>>>>>>>>>>>>>>>3
  28. Thread-0>>>>>>>>>>>>>>>>>4
  29. Thread-0>>>>>>>>>>>>>>>>>5
  30. Thread-0>>>>>>>>>>>>>>>>>6
复制代码

作者: @翱翔@    时间: 2014-1-11 21:47
有main0,main1,main2,你多运行几次看看,运行结果是随机的




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