创建了一个简单的多线程,打印顺序为什么还是有序的??

 

 

package cn.ling.day.demo02;

public class DemoThread {
    public static void main(String[] args) {
        Mythead my = new Mythead();
        my.start();
        for(int i=1;i<=15;i++){
            System.out.println(i);
        }
    }
}

/*
public class MyThread extends Thread{
    @Override
    public void run() {
        for(int i=1;i<=15;i++){
            System.out.println("run"+i);
        }
    }
}*/

15个数字还不加sleep你测个锤子

 

main的线程优先级很高

单核的话,两个线程没有让出cpu,各自执行完了才轮到另一个执行,可以 for 里面加点 sleep 让点时间片。

你这个值有点小了吧,子线程start之后不一定能马上执行,你把循环次数调大点

只打因15个数一个线程微秒级别就完成了,所以看不到效果,你打印应该加个sleep