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

什么是线程?

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

那么到底如何加速的呢?

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 5,259评论 0 23
  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    小徐andorid阅读 2,994评论 3 53
  • 林炳文Evankaka原创作品。转载自http://blog.csdn.net/evankaka 本文主要讲了ja...
    ccq_inori阅读 736评论 0 4
  • Java多线程学习 [-] 一扩展javalangThread类 二实现javalangRunnable接口 三T...
    影驰阅读 3,112评论 1 18
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,675评论 1 32

友情链接更多精彩内容