CPU 密集型程序创建多少个线程合适?

计算(CPU)密集型的线程恰好在某时因为发生一个页错误或者因其他原因而暂停,刚好有一个“额外”的线程,可以确保在这种情况下CPU周期不会中断工作。

所以对于CPU密集型程序,  CPU 核数(逻辑)+ 1 个线程数是比较好的经验值的原因了

I/O密集型程序创建多少个线程合适?

最佳线程数 =  (1/CPU利用率) = 1 + (I/O耗时/CPU耗时)

I/O 密集型程序的最佳线程数就是:

按照上面公式,假如几乎全是 I/O耗时,所以纯理论你就可以说是 2N(N=CPU核数),当然也有说 2N + 1的,(我猜这个 1 也是 backup)

最佳线程数 = CPU核心数 *  (1/CPU利用率) =  CPU核心数 * (1 + (I/O耗时/CPU耗时))

可以利用  SkyWalking 、 CAT 、 zipkin  查看 IO 耗时 、CPU耗时以及CPU利用率

高并发情况下创建多少线程合适相关推荐

  1. 高并发场景下创建多少线程才合适?一条公式帮你搞定!!

    来自:冰河技术 创建多少线程合适, 要看多线程具体的应用场景.一般来说,我们可以将程序分为:CPU密集型程序和I/O密集型程序, 而针对于CPU密集型程序和I/O密集型程序,其计算最佳线程数的方法是不 ...

  2. 在高并发情况下如何解决用户超领优惠券问题

    在高并发情况下如何解决单用户超领优惠券问题 一. 场景描述 在近期的项目里面有一个功能是领取优惠券的功能,每一个优惠券一共发行多少张,每个用户可以领取多少张: 如:A优惠券一共发行120张,每一个用户 ...

  3. 高并发情况下修改系统参数

    单进程最大打开文件数限制 一般的发行版,限制单进程最大可以打开1024个文件,这是远远不能满足高并发需求的,调整过程如下: 在#号提示符下敲入: ulimit–n 65535 限制修改失败了,会显示 ...

  4. wcf高并发 mysql_WCF服务在高并发情况下报目标积极拒绝的异常处理 z

    http://www.cnblogs.com/kklldog/p/5037006.html wcf的监控服务,偶尔监控到目标服务会报一个目标积极拒绝的错误.一开始以为服务停止了,上服务器检查目标服务好 ...

  5. java rabbitmq 并发_RabbitMQ消息中间件 高级篇二 高并发情况下保障消息投递可靠性...

    RabbitMQ消息中间件技术精讲9 高级篇二 高并发场景下,消息的延迟投递做二次确认进行回调检查来保障生产者消息投递成功的可靠性 在上一篇文章中,我们介绍了BAT大厂中一种方式保障生成者消息投递可靠 ...

  6. 随手记录第二话 -- 高并发情况下秒杀、抢红包都有哪些实现方式?

    1.何为高并发? 高并发:在短时间内涌入超量的请求 那么如果出现这几种情况,可能会导致的后果 服务宕机 商品库存,红包金额超量 2.何为高并发秒杀? 这是一个高频面试题,问题虽然简单,但是里面的细节有 ...

  7. Mysql在高并发情况下,防止库存超卖而小于0的解决方案

    背景: 本人上次做申领campaign的PHP后台时,因为项目上线后某些时段同时申领的人过多,导致一些专柜的存货为负数(<0),还好并发量不是特别大,只存在于小部分专柜而且一般都是-1的状况,没 ...

  8. SpringBean默认是单例的,高并发情况下,如何保证并发安全?

    以下文章来源方志朋的博客,回复"666"获面试宝典 Spring的bean默认都是单例的,某些情况下,单例是并发不安全的,以Controller举例,问题根源在于,我们可能会在Co ...

  9. 集群高并发情况下如何保证分布式唯一全局ID生成

    作者:轻狂书生 blog.csdn.net/LookForDream_/article/details/109355335 前言 系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问 ...

最新文章

  1. 一些重要的 XML DOM 方法概述
  2. k2677场效应管参数引脚_场效应管参数大全2.doc
  3. html5头像裁剪实例,使用cropper.js裁剪头像的实例代码
  4. Failed to get response from /vue-cli-version-marker
  5. [Android]Linux下WebRTC下载与编译
  6. 中点击按钮新建widget_如何在iOS14中创建堆叠小组件?
  7. c语言编译音乐简谱,单片机音乐曲谱_单片机c语言音乐简谱代码
  8. 记录This request has been blocked; the content must be served over HTTPS.
  9. 电视剧《一代枭雄》观后感
  10. 关于awk 中如何使用 if条件判断句
  11. 基于网络安全的Docker逃逸
  12. oracle 脚本检查点,oracle nca脚本检查点
  13. 如何给计算机添加密码,怎么给电脑设置密码,手把手教你电脑怎么设置密码
  14. 计算机和书桌还有台灯英语,台灯的英语单词是什么
  15. 罗杨美慧 20190919-3 效能分析
  16. ZYNQ裸机LWIP双网口实现
  17. 一维卷积(1D-CNN)、二维卷积(2D-CNN)、三维卷积(3D-CNN)
  18. 大型三甲医院信息管理系统源码 his系统源码【源码分享】
  19. 双网卡实现同时连通两个网络
  20. 关于java中Steam流的探索

热门文章

  1. 如何使用PHP开发爬虫功能去爬取网页资讯
  2. 密码学中一些加减乘除法优化
  3. matlab模拟反射,光线的折射和反射 Matlab源程序 动画演示
  4. PCB画板(Altium Designer)
  5. Python中的TfidfVectorizer参数解析
  6. 从零开始实现放置游戏(前言)
  7. Linux下io磁盘调度策略
  8. 机器人出卢安娜飓风_LOL丨司马老贼用“血的教训”告诉你:这些英雄真不适合出飓风!...
  9. ASP 一句话执行ASP代码
  10. 视频消重方法 视频md5查看器