java多线程是如何加快程序的运行速度的?

2019-01-23  本文已影响0人  渭小粉

什么是线程?

线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。

那么到底如何加速的呢?

现在的微机基本上都是分时系统,cpu在运行时运算速度也不会改变,从宏观上讲,一个程序如果是一个线程,那么在一个cpu周期内,所占用的时间为 1 / n, 如果使用两个线程,那么占用的时间就是 2 / ( n + 1 ) ,  2/ (n+1)  -  2/n 的结果是 n-1/n*(n+1), 没错,结果是大于0的,也就是说一个cpu周期内这个程序所占用的时间更多,那么这个程序的程序的执行速度也会更快!当然,这只是从宏观的角度讲的,其中还设计到线程的优先权等等问题,但如果就java来讲,知道这些我想就足够了!

上一篇下一篇

猜你喜欢

热点阅读