main方法里面写了个线程start,结果每次都是main的先顺序执行完成?
说来挺傻的,写了个new Thread().start()就没想到,在没有执行到start那一步之前,还是走的单线程啊,顺序执行下来,你start方法写在后面当然就后执行啊。
然后把start往前一提,就变成交叉执行输出了。
package com.thread.simple; public class ThreadOne extends Thread { @Override public void run() { for (int i = 0; i < 10; i ++) { System.out.println("sub" + i); } } public static void main(String[] args) throws InterruptedException { Thread thread = new ThreadOne(); thread.start(); for (int i = 0; i < 10; i ++) { System.out.println("main--" + i); // Thread.sleep((int) (Math.random() * 1000)); } } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步