一个很简单的线程学习测试类,就是不太明白为什么打印信息中“123”是在“1”之前的,不是应该调用线程这一部分先完成吗
两个线程先后没有顺序的,要顺序的话加一个helloThread.jion();
线程start之后 就交给cpu调度了 先后取决于cpu的心情
首先,多线程调度是有优先级的,可能main线程的优先级比较高。
其次,就是线程的启动过程耗时较长,而main线程肯定是先比你正启动的线程处于Runnable就绪状态,那么在你定义的线程从创建到就绪乃至执行这一系列的操作耗时会比直接运行main线程的一行打印慢的。当然,main线程就先执行了。
HelloThread开始后会跟main线程竞争cpu,先后顺序不一定。