java多线程

多线程怎么加速

学过操作系统的同学都知道,线程是现代操作系统底层一种轻量级的多任务机制。一个进程空间中可以存在多个线程,每个线程代表一条控制流,共享全局进程空间的变量,又有自己私有的内存空间。

多个线程可以同时执行。此处的“同时”,在较早的单核架构中表现为“伪并行”,即让线程以极短的时间间隔交替执行,从人的感觉上看它们就像在同时执行一样。但由于仅有一个运算单元,当线程皆执行计算密集型任务时,多线程可能会出现 1 + 1 > 2 的反效果。但是当任务是IO密集型时,多线程就可以体现出极大的优势。IO大部分耗时在读取数据流。(对于此处有疑问可以查看《现代操作系统》)

而“真正的并行”只能在多核架构上实现。对于计算密集型任务,巧妙地使用多线程或多进程将其分配至多个 CPU 上,通常可以成倍地缩短运算时间。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 线程基本知识 什么是线程安全性?当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么可以认为这个类是线程安...
    Cheava阅读 4,636评论 0 1
  • Java 多线程 线程和进程的区别 线程和进程的本质:由CPU进行调度的并发式执行任务,多个任务被快速轮换执行,使...
    安安zoe阅读 6,528评论 1 18
  • 线程池ThreadPoolExecutor corepoolsize:核心池的大小,默认情况下,在创建了线程池之后...
    irckwk1阅读 4,119评论 0 0
  • 进程: 同一个操作系统中执行的一个子程序,包含了三部分虚拟CPU、代码、数据。 进程: 一组独立的数据和内存空间,...
    打死你的小乌龟阅读 3,229评论 0 0
  • 眼睛一睁,起来,眼睛一闭,一天又过去了…… 这类的感叹估计大家都曾有过。 一整天悠哉悠哉的就不知不觉的过去了,问...
    心勤阅读 1,248评论 0 1