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

【多线程-第一天-多线程的执行原理-多线程的优缺点-主线程 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.lryc.cn/news/489941.html

相关文章:

  • SQL基础语法介绍-基于MySQL
  • 一分钟学习数据安全——数据安全风险的系统化应对思路
  • 端口port常识
  • 【Oracle实战】文章导读
  • “人工智能+高职”:VR虚拟仿真实训室的发展前景
  • c语言学习27宏定义条件编译
  • 理论结合实践:用Umami构建网站分析系统
  • Unreal从入门到精通之如何绘制用于VR的3DUI交互的手柄射线
  • 移动充储机器人“小奥”的多场景应用(上)
  • 已解决wordpress提示正在执行例行维护,请一分钟后回来
  • DDR3脚位解析,class分类
  • 【深度学习|目标跟踪】DeepSort 详解
  • 快速图像识别:落叶植物叶片分类
  • MTK Android12 user版本MtkLogger
  • Python数据结构day2
  • 后台通用tag面包屑
  • oracle数据恢复—通过拼接数据库碎片的方式恢复Oracle数据的案例
  • node.js fluent-ffmpeg 桌面推流
  • AWS的流日志
  • 大数据新视界 -- 大数据大厂之 Hive 数据导入:多源数据集成的策略与实战(上)(3/ 30)
  • Qt入门1——认识Qt的几个常用头文件和常用函数
  • ElasticSearch学习篇17_《检索技术核心20讲》最邻近检索-局部敏感哈希、乘积量化PQ思路
  • 在 Sublime Text 中直接预览 Markdown 文件
  • 分词器的概念(通俗易懂版)
  • 速通前端篇 —— CSS
  • 数据库表设计范式
  • 经济增长初步
  • 【架构】主流企业架构Zachman、ToGAF、FEA、DoDAF介绍
  • 时间请求参数、响应
  • PyTorch图像预处理:计算均值和方差以实现标准化