码迷,mamicode.com
首页 > 编程语言 > 详细

多线程 - 多线程基础

时间:2020-03-05 22:08:47      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:mic   com   执行   info   获取   cpu 时间片   运用   mamicode   拓展   

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)

 

多线程 - 多线程基础

标签:mic   com   执行   info   获取   cpu 时间片   运用   mamicode   拓展   

原文地址:https://www.cnblogs.com/frankcui/p/12423107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!