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

ESP32开发之freeRTOS的互斥量

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

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

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

在这里插入图片描述

互斥量的应用场合

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

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

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

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

http://www.dtcms.com/a/179206.html

相关文章:

  • 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语音芯片应用方案:让加湿器会说话
  • 云平台搭建
  • 微服务不注册到nacos的方法
  • SpringBoot的自动配置和起步依赖原理
  • Android开发报错解决
  • 正则表达式实战指南:原理、口诀与高频场景案例
  • 姚琛全新特别版EP上线 携手金牌制作人诠释夏日浪漫
  • Python 基础知识
  • 正则表达式(Regular Expression)详解
  • 配置VS的DLL文件引用目录(两种方案,无需每次生成dll后手动将其复制到exe目录下)
  • 表面等离子共振技术(SPR)在小分子与蛋白质相互作用研究中的应用
  • MyBatis 动态 SQL 完整笔记