多线程 - 多线程基础
Posted frankcui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程 - 多线程基础相关的知识,希望对你有一定的参考价值。
CPU 内核数 与 线程数 的关系
- 一个CPU 内核只能跑一个线程
- 由于Intel公司引入的超线程技术,使得物理CPU内核和虚拟CPU内核存在一个1:2的关系拓展。
因此如下图,原本4个内核的电脑,同时只能跑4个线程;由于1:2关系,拓展为8个逻辑处理器,因此可以同时跑8个线程。
CPU 时间片轮转机制
Q:为啥我的电脑跑的进程远远多于CPU的逻辑处理器个数?
A:
- CPU 将时间线分割成一个个的时间片
- 运用RR调度算法,进行时间片轮转
- 每个线程轮流获取CPU时间片进行操作
Q:为啥我感受不到线程在切换
A:
- 人的反应时间在1s~0.01s
- CPU执行一条指令 0.6纳秒ns
- 1秒(s)=1000000000纳秒(ns)
以上是关于多线程 - 多线程基础的主要内容,如果未能解决你的问题,请参考以下文章