每日总结

上手试验了一下多线程程序,但这个与我想象中略有不同,因为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循环慢,如果是加载时间长一点的话,可以说两个完全是同时开始的。

原文地址:https://www.cnblogs.com/ldy2396/p/14160120.html