线程数量怎么设置才最合理

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

上下文切换

首先在单核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的处理能力。

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

本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至907991599@qq.com 举报,一经查实,本站立即删除。本文作者:小斋,如若转载,请注明出处:http://www.diehen.com/171144.html
(0)
小斋的头像小斋
上一篇 2023年11月16日
下一篇 2023年11月16日

相关推荐

  • 二十四节气歌(二十四节气口诀)

    二十四节气是中国先秦时期开始订立、汉代完全确立的用来指导农事的补充历法,是通过观察太阳周年运动,认知一年中时令、气候、物候等方面变化规律所形成的知识体系。 二十四节气口诀 春雨惊春…

    2024年3月5日
  • Python切片操作:灵活读取列表和元组中的元素【推荐】

    在Python中,列表(list)和元组(tuple)是常见的数据类型,我们经常需要从中截取一些元素,就像在矩阵或向量中选择部分元素一样。Python提供了切片(slice)操作来…

    投稿 2024年4月2日
  • 莱赛尔纤维是什么面料(莱赛尔面料洗涤与保养)

    正是因为莱赛尔面料在我们生活中并不常见,所以,很多人都想了解莱赛尔面料是什么材质,莱赛尔面料的优点好处,莱赛尔面料洗涤与保养。本篇百科就带你来了解莱赛尔面料。莱赛尔面料是什么材质1、莱赛尔面料是什么材质,莱赛尔是以天然植物纤维为原料的一种面料,俗称“天丝绒”,是一种全新的纺织…

    2023年12月2日
  • 戒指戴在右手无名指是什么意思? 热恋桃花运爆棚的秘密

    戒指戴在右手无名指,通常让人联想到热恋中的情侣,象征著他们对彼此的忠诚和对未来的婚姻充满信心。这也同时意味著佩戴者正处于桃花运旺盛的时期,身边不乏追求者。戒指戴在右手无名指,不只代…

    2024年7月9日
  • 小鸡宝宝考考你人们常把旅行时肠胃不适称为水土不服,这种情况很可能是

    人们常把旅行时肠胃不适称为水土不服,这种情况很可能是? 这是支付宝蚂蚁庄园10月1日的问题,答对即可获得一份180g小鸡宝宝饲料作为奖励。那么接下来就让我们一起了解一下正确答案吧。…

    2023年10月2日
  • 山东有哪些山景区,山东有哪些山值得爬

      山东有哪些山景区,山东有哪些山值得爬是面积150平方公里以上的有泰山、蒙山、崂山、鲁山、沂山、徂徕山、昆嵛山、九顶山、艾山、牙山、大泽山等的。  关于山东有哪些山景区,山东有哪些山值得爬以及山东有哪些山景区,山东有哪些山可以爬,山东有哪些山值得爬,山东有哪些山?,山东有哪些山脉河流等问题,小…

    投稿 2023年11月27日
  • 北京烤鸭哪家最正宗 北京烤鸭哪家最好吃

    北京正宗的烤鸭店为你推荐全聚德、四季民福烤鸭店、鸭王烤鸭店、大董和便宜坊烤鸭店这五家。  全聚德(和平门店)  要问北京烤鸭哪家正宗?很多人可能都会想到全聚德,这家店就在和平门地铁边,出来地铁就能看到,他家的烤鸭是168元一只,服务员会帮你包好肉,鸭架子是给下汤的,汤味道清香,非常好喝。烤鸭的胸…

    2023年12月1日
  • 碧玺为啥贵?碧玺的鉴别方法?【띲띪띺띧】

    碧玺是一种珍贵的宝石,有着独特的性质和价值。其价格高昂的原因主要有以下几点:首先,碧玺的产量稀少。碧玺是一种天然的宝石,其生成需要特定的地质条件和漫长的时间过程。因此,碧玺的产量相对较少,而高品质的碧玺更是难得一见,这就导致了其价格的相对高昂。其次,碧玺的品质独特。碧玺的色彩丰富多样,从浅色…

    投稿 2023年11月8日
  • 王者荣耀删除游戏好友在哪里删?王者荣耀怎么删除游戏好友

    王者荣耀删除游戏好友在哪里删?游戏中的好友经常会有变动,这次玩家们想要了解删除好友之后对方的列表中会不会还有自己,关于删除好友的一些问题和操作方法, 王者荣耀怎么删除游戏好友 删除…

    2024年8月12日
  • 世界上最大的钻石矿坑在哪,探秘全球最壮观的钻石矿区

    关键词:世界上最大的钻石矿坑在哪 在地球上,有许多令人惊叹的自然奇迹,其中之一就是钻石矿坑。钻石是一种稀有而珍贵的宝石,它们的形成需要极其特殊的地质条件。在全球范围内,有几个著名的…

    2023年10月16日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注