当前位置: 首页 > news >正文

程序开多少线程合适?

这里需要区别下应用是什么样的程序:
    CPU 密集型程序, 一个完整请求, I/O 操作可以在很短时间内完成, CPU 还有很多运
算要处理,也就是说 CPU 计算的比例占很大一部分,线程等待时间接近 0
   单核 CPU : 一个完整请求, I/O 操作可以在很短时间内完成, CPU 还有很多运算要
处理,也就是说 CPU 计算的比例占很大一部分,线程等待时间接近 0 。单核 CPU
CPU 密集型程序,这种情况并不太适合使用多线程,
  多核 : 如果是多核 CPU 处理 CPU 密集型程序,我们完全可以最大化的利用 CPU
核心数,应用并发编程来提高效率。 CPU 密集型程序的最佳线程数就是:因此对于
CPU 密集型来说,理论上 线程数量 = CPU 核数(逻辑),但是实际上,数量一般
会设置为 CPU 核数(逻辑) + 1 (经验值)
计算 (CPU) 密集型的线程恰好在某时因为发生一个页错误或者因其他原因而暂停,
刚好有一个 额外 的线程,可以确保在这种情况下 CPU 周期不会中断工作
I/O 密集型程序,与 CPU 密集型程序相对,一个完整请求, CPU 运算操作完成之后还有
很多 I/O 操作要做,也就是说 I/O 操作占比很大部分,等待时间较长,线程等待时间所 占比例越高,需要越多线程;线程 CPU 时间所占比例越高,需要越少线程  I/O 密集型程序的最佳线程数就是: 最佳线程数 = CPU 核心数 (1/CPU 利用率 ) =
CPU 核心数 (1 + (I/O 耗时 /CPU 耗时 ))
如果几乎全是 I/O 耗时,那么 CPU 耗时就无限趋近于 0 ,所以纯理论你就可以说是
2N N=CPU 核数),当然也有说 2N + 1 的, 1 应该是 backup
一般我们说 2N + 1 就即可

基于 EA的 IT与业务融合

如何预防死锁?-CSDN博客

事务底层与高可用原理

超高并发直播弹幕方案-CSDN博客

相关文章:

  • Vue3学习(组合式API——ref模版引用与defineExpose编译宏函数)
  • Stacking超参数调优:网格搜索与随机搜索的实战指南
  • 【软考中级软件设计师】进程管理
  • 如何深入学习MATLAB的高级应用?
  • StreamCap v0.0.1 直播录制工具 支持批量录制和直播监控
  • 注册表设置windows背景护眼色
  • 【React Fiber 架构详解】
  • FreeRTOS的学习记录(任务创建,任务挂起)
  • 计算机操作系统概要
  • 电子电路:什么是色环电阻器,怎么识别和计算阻值?
  • Windows系统永久暂停更新操作步骤
  • c++从入门到精通(五)--异常处理,命名空间,多继承与虚继承
  • vscode vue 项目 css 颜色调色版有两个
  • java中的包机制
  • MongoDB聚合查询:从入门到精通
  • 实例化异常(InstantiationException)详解
  • (面试)View相关知识
  • STM32F103定时器1每毫秒中断一次
  • 如何 naive UI n-data-table 改变行移动光标背景色
  • Web3开发工具与框架全解析:从入门到实战
  • web前端做一个网页/seo优化教程
  • 宜昌建网站/免费域名申请网站
  • 西安网站托管/网站seo设计方案案例
  • 如何用eclipse做网站/百度搜索网站优化
  • 玩具网站建设策划书/媒介
  • 建行个人网上银行登录入口官网/东莞网站seo技术