多线程的执行顺序只能用一句话概括:不可预料。
因为你的线程中只有10次循环,并且所做的事情太过简单,可以说是瞬间完成,因此当我们 start 之后还没有进入到 run 方法时,main 线程已经跑完了。
所以如果你想检验一下多线程的过程,可以在 for 循环中每次来个随机的 sleep。比如:
java.util.Random seed = new Random();
for(int i = 0 ....) {
Sytem.out.println(...);
Thread.sleep(seed.nextInt(10000));
}