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

【多线程-第一天-多线程的执行原理-多线程的优缺点-主线程 Objective-C语言】

一、多线程的执行原理

通知

1.单任务操作系统:同一时间只能执行一个任务

多任务操作系统:同一时间可以执行多个任务

比如,我可以一边听着酷狗,一边聊着QQ,

在单任务的操作系统里边,只有进程,没有线程,

通知

单任务操作系统,CPU必须执行完一个任务,才能执行第二个任务,

多任务操作系统,CPU假设是单核CPU,一次只能做一件事情,

通知

多任务操作系统,CPU即使是单核CPU,也可以同时执行这三个任务,

多任务操作系统里边,引入了线程,线程怎么工作的呢,

通知

假设操作系统里有四个线程,这四个线程,都是要交给CPU来执行的,并且,CPU假设是单核CPU,同一时间只能做一件事,双核呢,同一时间可以做两件事,至于这两件事,它做哪件事,不用我们管,我们也管不了,是操作系统负责的,我们写程序,只要你开线程就行了,

假设,先去执行第一个线程,假设线程1执行一个死循环,别人还能执行吗?不能了,但是,实际情况下,现在这个操作系统上,即使我写一个死循环,别的程序也能执行吧,

所以,它不是等着线程1执行完,而是会执行一个非常非常短的时间,这个时间人感觉不到,假设是15纳秒,

这15纳秒执行完,会把线程1 当前的状态,保存到内存中,当前的状态包括什么呢,包括变量的值,包括当前执行到哪一行代码了,

15纳秒到了,会把当前的状态保存,去执行线程2,

线程2执行15纳秒,把线程2的状态保存,执行线程3,


http://www.kler.cn/a/407147.html

相关文章:

  • 【滑动窗口】变种题目:leetcode76:最小覆盖子串
  • 基于物联网设计的人工淡水湖养殖系统(华为云IOT)_253
  • 实验四:构建园区网(OSPF 动态路由)
  • 解决前端页面报错:Not allowed to load local resource
  • PVE的优化与温度监控(二)—无法识别移动硬盘S.M.A.R.T信息的思考并解决
  • RTL8211F 1000M以太网PHY指示灯
  • Arcpy 多线程批量重采样脚本
  • 11 —— 打包模式的应用
  • 一站式学习:害虫识别与分类图像分割
  • 汽车加油行驶问题-动态规划算法(已在洛谷AC)
  • 埃文科技携手河南企业代表团亮相第十九届广州中博会
  • 移门缓冲支架:为好梦加分
  • 【青牛科技】电流模式PWM控制器系列--D4870
  • HTML通过JavaScript获取访问连接,IP和端口
  • 力扣—面试题 17.14. 最小K个数
  • 多目标优化算法:多目标河马优化算法(MOHOA)求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6,提供完整MATLAB代码
  • C++中类的继承
  • 25.UE5时间膨胀,慢动作,切换地图,刷BOSS
  • 使用flink编写WordCount
  • 高频面试题(含笔试高频算法整理)基本总结回顾23
  • 界面控件DevExpress WinForms v24.2新功能预览 - 人工智能(AI)
  • vue2 _src_Todolist自定义事件版本
  • JavaWeb——Maven、web入门
  • 前端测试工具(Jest与Mock)
  • 体验免费开箱即用的AI工具:Blackbox.AI
  • 【100ask】IMX6ULL开发板用SPI驱动RC522模块