1、CPU密集型

CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/内存),I/O在很短的时间就可以完成,而CPU还有许多运算要处理,CPU Loading很高。

CPU密集的意思是该任务需要大量的运算,而没有阻塞,CPU一直全速运行。CPU密集任务只有在真正的多核CPU上才可能得到加速(通过多线程),而在单核CPU上,无论你开几个模拟的多线程该任务都不可能得到加速,因为CPU总的运算能力就那些。

CPU 使用率较高(例如:计算一些复杂的运算,逻辑处理等情况)非常多的情况下,线程数一般只需要设置为CPU核心数的线程个数就可以了。 这一类型多出现在开发中的一些业务复杂计算和逻辑处理过程中。

2、IO密集型

IO密集型指的是系统的CPU性能相对硬盘、内存要好很多,此时,系统运作,大部分的状况是CPU在等I/O (硬盘/内存) 的读/写操作,此时CPU Loading并不高。I/O bound的程序一般在达到性能极限时,CPU占用率仍然较低。这可能是因为任务本身需要大量I/O操作,而pipeline做得不是很好,没有充分利用处理器能力。

CPU 使用率较低,程序中会存在大量的 I/O 操作占用时间,导致线程空余时间很多,所以通常就需要开CPU核心数两倍的线程。当线程进行 I/O 操作 CPU 空闲时,启用其他线程继续使用 CPU,以提高 CPU 的使用率。例如:数据库交互,文件上传下载,网络传输等。

线程等待时间所占比例越高,需要越多线程,启用其他线程继续使用CPU,以此提高CPU的利用率;线程 CPU 时间所占比例越高,需要越少的线程,这一类型在开发中主要出现在一些计算业务频繁的逻辑中。

总结

简而言之,

CPU密集型 可以理解为 就是处理繁杂算法的操作,对硬盘等操作不是很频繁,比如一个算法非常之复杂,可能要处理半天,而最终插入到数据库的时间很快。

IO密集型可以理解为简单的业务逻辑处理,比如计算1+1=2,但是要处理的数据很多,每一条都要去插入数据库,对数据库频繁操作。

什么是CPU密集型?什么是IO密集型?相关推荐

  1. JAVA多线程技术-IO密集型与CPU密集型

    任务最终是反应到计算机来执行的,线程在执行过程中和计算机的硬件是有关联的,他们有什么关系呢?这里介绍下线程与IO和CPU的关系. CPU密集型 CPU密集型也叫计算密集型,指的是系统的硬盘.内存性能相 ...

  2. io密集服务器cpu性能,线程池中CPU密集型和IO密集型选择

    cpu密集型:cpu使用率较高(也就是一些复杂运算,逻辑处理),所以线程数一般只需要cpu核数的线程就可以了.这一类型的在开发中多出现的一些业务复杂计算和逻辑处理过程中. IO密集型:cpu使用率较低 ...

  3. node环境的CPU密集型与IO密集型介绍

    前言 一般来讲,对网站来说做服务端渲染SSR的时候,有两点好处: 优化 spa 页面的白屏时间 方便搜索引擎爬虫,也就是方便了SEO 那做SSR服务端,通常使用node 作为服务端语言开发,但是需要注 ...

  4. 什么是CPU密集型、IO密集型?3分钟了解清楚

    一.总述 CPU密集型应用程序是指需要大量CPU运算能力的程序,通常涉及到大量的数据处理和计算操作,例如科学计算.图像处理和加密解密等.这些应用程序通常需要高速的CPU和大量的内存来完成任务. IO密 ...

  5. java io密集型任务_IO密集型的线程池大小设置

    类型判断(CPU密集orIO密集or混合型) 看应用是CPU密集型的还是IO密集型的,还是混合型的. CPU密集 CPU密集型的话,一般配置CPU处理器个数+/-1个线程,所谓CPU密集型就是指系统大 ...

  6. python io密集 多线程_Python进阶:聊聊IO密集型任务、计算密集型任务,以及多线程、多进程...

    IO密集型任务 VS 计算密集型任务所谓IO密集型任务,是指磁盘IO.网络IO占主要的任务,计算量很小.比如请求网页.读写文件等.当然我们在Python中可以利用sleep达到IO密集型任务的目的. ...

  7. cpu密集型 计算密集型 io密集型 简介

    CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘.内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/ ...

  8. python网络编程基础(线程与进程、并行与并发、同步与异步、阻塞与非阻塞、CPU密集型与IO密集型)...

    python网络编程基础(线程与进程.并行与并发.同步与异步.阻塞与非阻塞.CPU密集型与IO密集型) 目录 线程与进程并行与并发同步与异步阻塞与非阻塞CPU密集型与IO密集型 线程与进程 进程 前言 ...

  9. io密集型和cpu密集型java,如何设计CPU密集型与I/O密集型程序

    CPU密集型(CPU-Bound)是指系统指花费相对大部分时间在做CPU运算.逻辑判断等,CPU使用率很高,典型的如加密运算:I/O密集型(I/O-Bound)是指系统花费大部分时间在等待相对较慢的I ...

  10. 什么是CPU密集型、IO密集型?

    转载自 什么是CPU密集型.IO密集型? CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘.内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loadin ...

最新文章

  1. 机房合作--那些数据类型
  2. 47、Power Query-处理典型的中国式二维表格转一维
  3. sublimeformaya
  4. 03_Nginx添加新模块
  5. 农夫过河+java,农夫过河问题(java版)
  6. python生成sql文件_Python 数据库Insert语句脚本生成工具(SQL Server)
  7. 要素集获取要素_Excel点文件转面要素
  8. 网页看视频计算机休眠,晚上挂着下电影怎么让电脑不休眠 Win7关闭休眠图文教程...
  9. bzoj 1076 奖励关 状压+期望dp
  10. python 反弹shell,加了UDP
  11. 1081. 不同字符的最小子序列
  12. matlab 方程组求导,matlab求导及线性方程组的求解
  13. python任务调度demo-百度贴吧签到
  14. Android MediaPlayer整体架构源码分析 -【MediaCodec编解码器插件模块化注册和创建处理流程】【Part 6】
  15. qstock 玩转问财:一行代码实现条件选股
  16. python开发erp系统odoo_ODOO快速入门与实战:PYTHON开发ERP指南
  17. SpringBoot-注解日志 Aop注解切入点
  18. WD移动硬盘unlock解锁之后看不到盘符的解决办法
  19. 目标跟踪介绍(单目标)
  20. ISO27001 LA学习纪录

热门文章

  1. 2014年十大云计算发展趋势分析及预测
  2. 斗鱼直播弹幕python_调用斗鱼API爬取直播间弹幕信息(用户昵称及弹幕内容)
  3. python编程猜拳游戏_python代码实现猜拳小游戏
  4. 基础训练—龟兔赛跑预测(  话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于)
  5. 敏捷互联网项目测试质量报告的大纲
  6. 数据治理-数据质量-数据质量参考架构
  7. 5分钟学完《梁宁产品思维30讲》
  8. ping命令显示的TTL是什么意思
  9. 仿苹果 底部弹窗 选择列表
  10. xshell功能大全(上)