Thread one is alive :true
Thread two is alive :true
Thread Three is alive :true
本来就在MAIN这个线程中在waiting for thread finnish的前面你为什么想着他们在后面出来?

解决方案 »

  1.   

    主线程好像就这么一直执行下去了,直到开辟了三个新线程之后.
    去掉obx.t.join();后开辟了两个线程之后执行了一次,很是奇怪.
    哪位大侠可以解答这个问题?
      

  2.   

    其实对于只样的多线程的执行是有原因的,其实主要原因是系统把cpu分成若干的时间片,所以才回出现上面的情况。
      

  3.   

    当现成执行的sleep时,休眠,但是主方法还是往下执行的,所以就出现了上面的情况,如果你不用sleep,看看结果就明白了。
      

  4.   

    wjmmml(笑着悲伤) (
    你好,我得问题是 :我觉得按照下面的程序:在初始化
                      NewThread ob1 = new NewThread("one");
    NewThread ob2 = new NewThread("two");
    NewThread ob3 = new NewThread("Three");
    的时候应该先执行:for (int i=5;i>0 ;i-- )
    {
    System.out.println(name + ":" +i );
    Thread.sleep(1000);
    }
    然后在执行: System.out.println("Thread one is alive :" + ob1.t.isAlive());
    System.out.println("Thread two is alive :" + ob2.t.isAlive());
    System.out.println("Thread Three is alive :" + ob3.t.isAlive());但是执行结果好像是反过来了?
    怎么回事:?
      

  5.   

    没有啊,是因为你的现成sleep了。所以。