当前位置: 首页 > news >正文

深圳网站制作长沙/长沙正规关键词优化价格从优

深圳网站制作长沙,长沙正规关键词优化价格从优,大庆建设公司网站,效果图制作公司怎么拉业务点击上方“Python编程时光”,选择“加为星标”第一时间关注Python技术干货!原文: https://dwz.cn/V9ukPOOE在大学操作系统的课本中,一般会有那么一句话:线程是CPU调度的基本单位。但是课本很少会去解释为什么。这里我简单说一下哈…

点击上方“Python编程时光”,选择“加为星标”

第一时间关注Python技术干货!

0ce7d7b3692c886fd7db7ffe8f29597c.png

原文: https://dwz.cn/V9ukPOOE

在大学操作系统的课本中,一般会有那么一句话:线程是CPU调度的基本单位。但是课本很少会去解释为什么。这里我简单说一下哈。因为寄存器中保存了当前线程的状态,例如一些栈指针呀,程序计数器呀。

但是这种答案好像并没有解释为什么要让线程是CPU调度的基本单位,这只是告诉了我们一个结果说线程是CPU调度的基本单位。因为我们还有进程这个概念呀,为什么不让进程成为CPU调度的基本单位呢?

这里我从设计的角度给出一个可能的原因。

首先我们要知道什么算作CPU调度,也就是拥有时间片对吧。OK,我们也知道一个进程是可以有多个线程的对吧。

现在我们假设我们的计算机是单 CPU 4核。此时,我们的进程中的4个线程占据了CPU的所有核。因为任务不同,所以这些线程执行的时间也不同。

如果这个进程中的某个线程已经完成了自己的任务,那么这个完成了任务的线程所占据的那个CPU核就处于空闲的状态了对吧。OK,此时我们的操作系统有两种设计方式:
1、以进程为CPU的调度单位
2、以线程为CPU的调度单位

假如是第一种设计方式,因为这个进程中还有另外3个线程在执行任务,所以因为一个线程执行完了而把当前进程切换掉,显然是很不明智的。那么,如果不切换进程,而去等待另外3个线程执行完任务的话,那么肯定会有CPU的某个或者某些核处于空闲的状态,此时没有充分利用好硬件。
因此,如果以进程为CPU的调度单位,在面对上面这种情况的时候,显得很无力。

OK,假如是第二种设计方式,就可以很好地解决这个问题了。操作系统把所有的线程一视同仁,我不管你这个线程是属于哪个进程的,只要你任务完成或者时间片用完,我就切换掉你,换一个线程过来。至于这个换过来的线程是同一个进程的线程还是其他进程的线程我不管,因为我是以线程为调度单位的。显然,第二种方式能够充分利用好CPU的所有核,不至于让某些核无所事事。

7bd704eb035c45533b53732369b5f49a.png

推荐阅读

字符串在Python内部是如何省内存的

整理了 11 个好用的代码质量审核和管理工具

让Python中类的属性具有惰性求值的能力

【神技巧】巧用 traceback 定位 Python 内存泄漏

太强了!Python中完美的日志解决方案

如何使用 Python 操作 Git 代码?

64c7473359bc474779d66a4600c608d0.png

http://www.lbrq.cn/news/1383625.html

相关文章:

  • 专业医疗网站建设/武汉seo计费管理
  • 台州建设规划局网站/网站友情链接交易平台
  • 制作微网站的费用/南京seo代理
  • 无锡微信网站开发/百度应用商店官网
  • 网站做排名靠前/百度外推排名
  • 响应式 官网网站/潍坊seo网络推广
  • 做网站即墨/他达那非副作用太强了
  • 广州软件开发外包/杭州seo俱乐部
  • 中山精品网站建设新闻/品牌推广方案案例
  • 网站开发属于IT行业/百度广告推广费用年费
  • 做片头片尾比较好的网站/找客户的软件有哪些
  • 南阳做网站/合肥百度关键词推广
  • 女和女做网站/神马推广登录
  • 原子艺术做的网站怎么样子/自己怎么优化网站
  • 娄底企业网站建设制作/公司网站建设哪家公司好
  • 做初中数学题的网站/淘宝推广方法有哪些
  • 成都建站开发/网络营销ppt模板
  • 如何做新闻源网站/信息流优化师培训
  • 大都会app约/站群seo
  • 重庆网站制作机构/朋友圈营销广告
  • 山西运城给网站做系统的公司/电商平台排行榜
  • 视频网站开发视频/电商运营怎么自学
  • 网站建设报价word文档/千川推广官网
  • 浪起网站建设/优化推广联盟
  • 武汉做企业网站/如何自己开发软件app
  • 建设厅网站如何查询企业信息/莆田百度快照优化
  • 高端的科技网站建设/软文推广案例大全
  • 游戏网站开发公司/广州seo推广
  • 定制一款app/咖啡seo是什么意思
  • 如何开发网站自己做站长/外包公司的优势和劣势
  • Go语言新手村:轻松理解变量、常量和枚举用法
  • 婚纱摄影管理系统(发送邮箱、腾讯地图API、物流API、webSocket实时聊天、协同过滤算法、Echarts图形化分析)
  • TCPIP之常用协议
  • 速度革命 Kingston FURY PCIe 5.0 NVMe装机体验
  • window显示驱动开发—Direct3D 11 视频设备驱动程序接口 (DDI)
  • 【Unity笔记】Unity Camera.cullingMask 使用指南:Layer 精准控制、XR 多视图与性能提升