cpu 相关
2 核 4 线程 CPU,一个物理核心里模拟出 2 条指令流执行能力。
硬件线程(Hardware Thread),也叫逻辑核心(Logical Core)
CPU 核:真正的灶台(物理执行单元)
硬件线程(逻辑核心):一个灶台旁边可以站两个厨师轮流用火
OS 线程(你创建的 thread):厨师
代码:菜谱灶台只有 2 个火口,但每个火口旁边站着 2 个厨师(当 A 在等锅热时,B 可以立刻上手)
双核四线程 = 2 个真正的灶台 + 每个灶台能让两个人轮流快速切换使用。
实际算力 接近 2.x 核,不等于 4 核
worker 数量要不要参考硬件
CPU 密集型任务,需要,并行度 ≈ CPU 核数
I/O 密集型任务(大量等待、CPU 使用率低、时间花在网络/磁盘),不需要
双核四线程,2~4,看实际数据
练习
问题
双核四线程,你开 100 个 CPU 密集 worker 会怎样?
做事情只有4个,但总数是100,所以会频繁切换,导致效率反而大大下降