多线程并不一定是无序的,只是有可能是无序的,如果cpu的时间片分配得好的话,可能第一个线程在执行完之前并没有被其他的线程中断,所以就不会无序,你的循环次数太短,如果你再试长一点的循环就可能出现无序的情况了

解决方案 »

  1.   

    cpu速度太快吧
    改成100试试
    for(int i=0;i<100;i++){
          System.out.print(i+"\n");
      

  2.   

    我用sleep,别的线程也不会夺取控制权public class threadTest implements Runnable{
      public void run() {
        for(int i=0;i<2;i++){
          System.out.print(i+" ");
        }      
      }
      public static void main(String[] args) throws InterruptedException{
        Runnable r=new threadTest();
        Thread t1= new Thread(r);
        Thread t2= new Thread(r);
        Thread t3= new Thread(r);
        t1.start();
        t2.start();
        t3.start();
        t1.sleep(5000L);
      }
    }我发现运行时什么也没有,等到5秒之后,3个线程一起打印了,,,,,,现象就跟单线程似的...
    我用的linux