游戏天空论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 65|回复: 0

CPU 核数与线程数有什么关系?

[复制链接]

966

主题

966

帖子

3138

积分

论坛元老

Rank: 8Rank: 8

积分
3138
发表于 2023-3-15 16:37:01 | 显示全部楼层 |阅读模式
CPU 核数与线程数有什么关系?炒菜与线程
实际上CPU和厨师一样,都是按照菜谱(机器指令)去执行某个动作,从操作系统的角度讲当CPU切换回用户态后,CPU执行的一段指令就是线程,或者说属于某个线程
这和炒菜一样,我可以按照菜谱抄鱼香肉丝,那么炒菜时这就是鱼香肉丝线程;我可以按照菜谱抄宫保鸡丁,那么炒菜时这就是宫保鸡丁线程。
厨师个数就好比CPU核心数,炒菜的样数就好比线程数,这时我问你,你觉得厨师的个数和可以同时抄几样菜有关系吗?
答案当然是没有。
需要多少线程?
值得注意的是,线程不是越多越好。
如果你的线程是不涉及任何I/O、没有任何同步互斥之类的纯计算类型,那么每个核心一个线程通常是最佳选择。但通常来说,线程都需要一定的I/O,可能需要一定的同步互斥,那么这时适当增加线程可能会提高性能,但当线程数量到达一个临界值后性能开始下降,这时线程间切换的开销将显著增加。
这里之所以用适当这个词,是因为这很难去量化,只能用你实际的程序根据真正的场景进行测试才能得到这个值
更多信息请联系:
QQ 2881062440
VX hellocdn99
飞机:@wwwcdncloud

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|游戏天空论坛 ( 陕ICP备13009885号 )

GMT+8, 2025-9-17 03:56 , Processed in 0.125000 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表