上手试验了一下多线程程序,但这个与我想象中略有不同,因为for循环实际上很快,当我按照书上的函数写出这种程序时:
class newone extends Thread { private int i = 0; public void run() { for (i=0;i<3;i++) { System.out.println("辅线程第"+(i+1)+"次循环"); } } } public class Happy { public static void main(String[] args) { for (int i=0;i<3;i++) { System.out.println("主线程第"+(i+1)+"次循环"); Thread first = new newone (); if(i==1) first.start(); } } }
这个的运行结果长这样:
按理讲我在i=1时就开始了新进程,但运行结果却像是最后才生效的
之后我将主线程循环次数改成了100.得到如下的运行结果:
可以看到辅线程慢了主线程8拍(姑且这么说),运行速度是类似的
后来查找了相关资料,这种现象可能是由于辅助线程开始处理要较for循环慢,如果是加载时间长一点的话,可以说两个完全是同时开始的。