线程数设置多少合适(线程数量怎么设置才最合理)

在程序开发中,常常为了提高性能,我们使用多线程进行开发,而针对多线程常常使用线程池来处理,线程池可以带来很多好处,有兴趣的可以看看之前干货君写的文章:线程池ThreadPool看完这篇就够了

线程数设置多少合适(线程数量怎么设置才最合理)

那么现在有个问题来了,在应用中,针对多线程开发,线程数量我们要怎么设置才最合理呢?是不是越多越好?

当然不是,在多线程中,不得不提的上下文切换

上下文切换

首先在单核CPU中,也是可以处理多线程的,只是CPU通过给每个线程分配CPU时间片来处理的,假设我们有A、B两个线程执行任务,CPU在非常短的时间(时间片)执行A线程,然后再执行B线程,如此往复执行,不停的切换(切换时保持之前的状态),由于时间片的间隙非常短,让我们感觉是同时执行的,即多线程,而这种切换就叫上下文切换。

从上面的描述我们可以知道,上下文切换,必然会出现之前的状态保持和启动,必然会导致性能的损耗,因此多线程的数量多就不一定快,也就说明了线程数量不是越多越好。

那么怎么合理的设置线程数量呢?

多线程任务分类

通常针对多线程一般分为两类场景:

IO密集型:IO密集型通常指程序运行期间,大部分的耗时是用来进行I/O操作,而这个时间线程不会占用CPU来处理。

CPU密集型:CPU密集型通常是指系统运行时会消耗掉大量的CPU资源,例如需要大量的计算,一些复杂运算,逻辑处理之类的。

因此针对不同场景线程的数量设置也不一样

I/O密集型

由于系统运行大部分都是在进行I/O交互,并不会暂用cpu资源,因此可以提高线程数,对线程数可以用以下计算公式:

最佳线程数 = ((线程等待时间+线程CPU时间)/线程CPU时间 )* CPU核心数

这样假设线程无等待,最佳线程数 = 1 * CPU核心数,而实际上线程一般都会存在等待时间,可以保守认为等待时间和线程CPU时间一样,即 2 * CPU核心数,因此一般都设置为

最佳线程数 = CPU核心数 * 2

CPU密集型

对于CPU密集型的,绝大部分都是利用cpu资源进行计算,因此一般对于此类场景,最佳线程数量设置为CPU核心线程数+1,以充分利用多核心CPU的处理能力。

最佳线程数 = CPU核心数 + 1

java获取cpu核心数的方法如下:

Runtime.getRuntime().availableProcessors()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年9月8日 下午4:18
下一篇 2023年9月8日 下午4:20

相关推荐

  • 中国老年就业人口已超6600万(老年人就业政策)

    根据最新数据统计,中国老年就业人口总量已经超过6600万人,主要就业行业为农林牧渔和建筑业,随着我国人口老龄化,老年就业人口比例也越来越大,下面大家就和发迹号小编一起了解一下中国老年就业人口已超660

    2022年9月24日
    1060
  • 传Galaxy Z Flip4折叠屏新机将基本维持外形设计不变

    通过多年努力,三星已将GalaxyZFlip3翻盖式折叠屏智能机的售价拉低到1000美元以下。与GalaxyZFold系列平板式折叠屏机型相比,不少用户更喜欢设计紧凑的前者。不过随着GalaxyZFold4与GalaxyZFlip4发布日期的临近,有消息称GalaxyZFlip4的外形设计将几乎没有任何变化。(图via란즈크/naver)周五的时候,韩国爆料人DohyunKim在Twitter上透…

    2022年4月26日
    890
  • 空调电加热是什么意思(空调上的电辅热有什么用)

    现在市面上的空调一般都是“冷暖型”空调,不仅能夏天制冷,还能够冬天制热。 不知道大家有没有注意到,在我们的空调遥控器上一般都会带有“电辅热”功能的按钮,那么大家知道这个功能有什么作用吗? 什么是电辅热? 空调制冷是本分,制热是本事。 所谓的电辅热功能其实就是一种辅助加热的功能,通过在空调的出风口附近增加了一个陶瓷发热体,开启之后,就能将电能转化成为热能,来吹…

    2023年7月24日
    230
  • 手机投屏电脑的方法(怎么设置把手机投屏到笔记本电脑上)

    手机投屏到笔记本电脑上具有非常大的实用价值,可以尽可能地减少手机屏幕对眼睛的伤害,使用笔记本电脑欣赏影视剧等效果也要比手机更好一些。 以Oppo手机连接戴尔灵越笔记本电脑为例,运行环境为Windows10操作系统,来看一看如何把手机投屏到笔记本电脑上。 首先,通过蓝牙连接笔记本电脑和手机。 在手机端打开”设置”窗口,点击”…

    2023年9月18日
    250
  • 苹果手机刷机软件下载(苹果用什么软件刷机)

    (下载苹果手机刷机软件)内容中包含的图片均为我亲测实录截图。7月21日凌晨1点左右,苹果发布iOS15.6正式版本,预计这个版本iOS最后一个版本的15许多用户无法忍受iOS15.5的bug,迫不及待地升级,所以很多人在

    2022年8月22日
    540
  • 光驱不读盘怎么解决(光驱不能正常读盘的应对方法)

    现在的光盘产品丰富多彩,同时它们的容量也在不断提升,但每次一玩游戏或是使用多媒体光盘,光驱不能读盘怎么办你知道吗?—起来看看光驱不能读盘怎么办,欢迎查阅! 当电脑光驱使用久了读盘能力差了就会出现有的光盘能读,有的光盘不能读,或是有的光盘读到一半就出现卡死的现象,这一般都是由于光驱个别部件老化或光头过于污浊而导致光驱不能读盘。解决光驱读盘能力差的方法主要有以下…

    2023年3月10日
    310
  • 莎拉布莱曼的歌曲(9首经典奥斯卡金曲)

    Am I That Easy To Forget 《Am I That Easy To Forget》,是影片《罗马假日》的主题曲。影片使奥黛丽·赫本获得当年(1953年)奥斯卡最佳女主角奖,成为其一鸣惊人的处女作,而其中的主题曲《Am I That Easy To Forget》也成了脍炙人口的经典影视金曲。 演唱者Jim Reeves不仅是美国排行榜上的…

    2022年11月29日
    470
  • 郑州旅游攻略一览表(郑州十大旅游必打卡景点)

    郑州,这座历史悠久、文化灿烂的城市,拥有众多令人流连忘返的景点。 以下是郑州的十大旅游必打卡景点,快带上你的宝子一起去探索吧! 1. 二七纪念塔: 二七纪念塔是郑州的标志性建筑之一 为了纪念京汉铁路工人大罢工而建。 它矗立在市中心,庄严而肃穆。塔高 63 米,共 14 层 每一层都展示着丰富的历史资料和文物 讲述着那段波澜壮阔的历史。 登上塔顶,可以俯瞰整个…

    2024年5月12日
    110
  • 奈飞半年内收购第3家游戏公司!用游戏拉新,影游融合成方向

    近日,奈飞(Netflix)宣布收购游戏工作室BossFightEntertainment。这也是自去年9月以来,奈飞买下的第3家游戏企业。据了解,BossFightEntertainment是一家总部坐落于德州的游戏工作室,成立于2013年,此前曾发行过角色扮演类手游《DungeonBoss》与菠菜类游戏《myVEGASBingo》。用户增长放缓,奈飞想用游戏拉新目前,奈飞公告中并未披露交易细节…

    2022年4月22日
    940
  • 250ml是多少克奶(牛奶中有多少乳清蛋白和酪蛋白成分)

    牛奶的组成中87%是水,13%是乳固体,而在乳固体中27%是蛋白质。 牛奶中的蛋白质主要由两大类构成,乳蛋白质中只有20%是乳清蛋白,其余80%都是酪蛋白,因此乳清蛋白在牛奶中的含量仅为0.7%,酪蛋白含量占牛奶中的含量为:2.8%。 我们用日常补充250克(250ml , 约一盒)纯牛奶来计算,那么乳固体有32.5克。总蛋白质有8.8克,其中,乳清蛋白为1…

    2023年1月31日
    160

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信