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

单片机怎么实现真正的多线程?

单片机怎么实现真正的多线程?



不考虑多核情况时,CPU在一个时间点只能做一件事,因为切换的速度快所以看起来好像是同时执行多个线程而已。

实际上就是用定时器来做时基,以时间片的方式分别执行来实现的,只不过实现起来细节比较复杂,核心思想就是你猜想的那样。最近很多小伙伴找我,说想要一些单片机的资料,然后我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「单片机资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

评论区回复“888”,关注我之后私信回复“666”,即可拿走。


如果你仅仅想知道具体思路,我可以告诉你。就是划分一块内存区域做线程的上下文切换空间,另外以一个定时器做定时时基。例如设为1ms,每隔1ms检测是否有其它线程要工作,如果有,保存当前线程的CPU寄存器以及工作状态到当前线程的上下文空间,从要运行的线程上下文空间取出寄存器值填充到CPU寄存器中,这样就完成了线程的切换,CPU就接着另一个线程的工作继续做下去了。

打个比方,我们把一个人关在小房间里,给他布置了写作业和洗b90b7d5e08b35f7f0e947dbc26bd8842.jpeg衣服的两个任务。

相关文章:

  • 第一个小记录达成:第一个年费会员用户
  • 微服务--一篇入门kubernets
  • 【重点】【区间问题】56.合并区间
  • Unity 获取物体的子物体的方法
  • 11、pytest断言预期异常
  • JVM之jps虚拟机进程状态工具
  • MySQL之时间戳(DateTime和TimeStamp)
  • 深度学习设计基于Tensorflow卷积神经网络猫的品种识别系统
  • GAN:SNGAN-谱归一化GANs
  • BearPi Std 板从入门到放弃 - 引气入体篇(3)(上两篇前言)
  • STM32单片机项目实例:基于TouchGFX的智能手表设计(1)项目介绍及GUI界面基础
  • 创建conan包-打包现有二进制文件
  • 用HeidiSQL在MySQL中新建用户
  • JIRA 重建索引
  • TiDB专题---3、TiDB与MySQL兼容性对比
  • 【391天】每日项目总结系列128(2018.03.03)
  • 2019年如何成为全栈工程师?
  • Apache Pulsar 2.1 重磅发布
  • C++入门教程(10):for 语句
  • CSS 专业技巧
  • C语言笔记(第一章:C语言编程)
  • es6--symbol
  • JavaWeb(学习笔记二)
  • Java精华积累:初学者都应该搞懂的问题
  • JS函数式编程 数组部分风格 ES6版
  • laravel with 查询列表限制条数
  • Spark学习笔记之相关记录
  • Spring框架之我见(三)——IOC、AOP
  • TCP拥塞控制
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 给新手的新浪微博 SDK 集成教程【一】
  • 前端面试总结(at, md)
  • 前嗅ForeSpider教程:创建模板
  • 深入 Nginx 之配置篇
  • 算法之不定期更新(一)(2018-04-12)
  • 网页视频流m3u8/ts视频下载
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (2.2w字)前端单元测试之Jest详解篇
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (转)负载均衡,回话保持,cookie
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 5种线程安全集合
  • .Net 高效开发之不可错过的实用工具
  • .NET 使用 XPath 来读写 XML 文件
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [bzoj2957]楼房重建
  • [C#基础]说说lock到底锁谁?
  • [C++随笔录] 红黑树
  • [CISCN 2023 初赛]go_session