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

ESP32开发之freeRTOS的互斥量

  • 什么是互斥量
  • 互斥量的应用场合
  • 互斥量的API函数
  • 基本代码结构
  • 互斥量使用举例
  • 递归锁
  • 递归锁举例
  • 总结
什么是互斥量

在freeRTOS中,多个任务访问一块共享资源,会产生竞争现象。

比如马路上只有一个很早以前的电话亭,A、B都想要打电话,然后他们就开始打架了。但是如果A先进去了然后把门锁了,B想进去打电话的话只能在外面等,必须等到A把门锁打开。

在这里插入图片描述

互斥量的应用场合

像freeRTOS的多任务系统,任务A正在使用某个资源,还没用完的时候,任务B也来使用,就可能会导致问题。

就比如串口,任务A正在用串口发送数据,此时任务B也来用这个串口发送数据,这样就会导致数据混乱。

简而言之,多任务使用共享资源的情况下,就需要使用互斥量了。

这里有个特别强调的注意点:按照正常的情况来说,只要任务A获取了互斥量,其他任务都无法释放互斥量才对。但

相关文章:

  • C++:扫雷游戏
  • MCP vs Function Call:AI交互的USB-C革命
  • Python实现文件批量改名功能
  • MySQL中隔离级别那点事
  • rom定制系列------红米note12 5G版miui14修改型号root版 原生安卓14批量线刷固件 原生安卓15等
  • 【MySQL】存储引擎 - CSV详解
  • @AutoConfigureBefore功能简介-笔记
  • Windows系统下使用Kafka和Zookeeper,Python运行kafka(一)
  • Java 基础知识点——数组相关
  • [java八股文][Java并发编程面试篇]场景
  • 自研MCU芯片闪存驱动的实现:OpenOCD详细过程记录与操作指南
  • 关于vue-office在vue3工程中的引用报错问题
  • 京东京言-AI项目实现逻辑
  • windows 部署 Kafka3.x KRaft 模式 不依赖 ZooKeeper
  • [计算机科学#10]:早期的计算机编程方式
  • 立式筒仓式发酵槽实验台试验装置
  • Java网络编程:理解URI、URL和URN
  • 全球森林数据如何分析?基于R语言森林生态系统结构、功能与稳定性分析与可视化
  • 加湿器WT588F02B-8S语音芯片应用方案:让加湿器会说话
  • 云平台搭建
  • 国家主席习近平同普京总统举行大范围会谈
  • 从“重规模”向“重回报”转变,公募基金迎系统性改革
  • 中俄领导人将讨论从俄罗斯经蒙古至中国天然气管道项目?外交部回应
  • 哥伦比亚总统称将在访华期间签署“一带一路”倡议意向书,外交部回应
  • 巴基斯坦军方:印度导弹袭击已造成至少3死14伤
  • 【社论】跑赢12级狂风,敦煌做对了什么