FreeRTOS源码阅读笔记5--mutex

互斥量是一种特殊的二值信号量,拥有优先级继承的机制,所以适合用在临界资源互斥访问。

5.1创建互斥量xSemaphoreCreateMutex()

5.1.1函数原型

5.1.2函数框架

5.2创建递归互斥量xSemaphoreCreateRecursiveMutex()

5.2.1函数原型

5.2.2函数框架
xSemaphoreCreateRecursiveMutex() 实际调用的函数就是 xQueueCreateMutex() 函数。

5.3删除互斥量vSemaphoreDelete()

5.3.1函数原型

直接调用信号量的删除函数,删除互斥量。

5.3.2函数框架

。。。

5.4获取互斥量xSemaphoreTake()

5.4.1函数原型

5.4.2函数框架

相较于信号量的获取函数,添加了优先级继承的机制。

5.5获取递归互斥量xSemaphoreTakeRecursive()

5.5.1函数原型

5.5.2函数框架

5.6释放互斥量xSemaphoreGive()

5.6.1函数原型

5.6.2函数框架

因为互斥量的优先级继承机制,暂时改变了任务的优先级,在释放互斥量时要恢复成原来的优先级。互斥量释放函数与信号量的释放函数唯一的不同:在prvCopyDataToQueue函数中,判断了如果队列是互斥量,调用了xTaskPriorityDisinherit函数恢复任务的优先级。

5.7释放递归互斥量xSemaphoreGiveRecursive()

5.7.1函数原型

5.7.2函数框架

结语:

不能在中断中释放(获取)互斥量的原因(个人总结):在中断中释放(获取)互斥量没有意义,从源码中可以看出互斥量相较于信号量,多了优先级继承机制,这个机制是对于任务而言的,对于中断来说没有意义,不可能用互斥量的这个机制去改变中断的优先级。所以,在中断中释放(获取)互斥量没有意义,直接释放(获取)信号量即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/179865.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

金融众筹模式系统源码 适合创业孵化机构+天使投资机构+投资基金会等 附带完整的搭建教程

随着互联网技术的发展和金融市场的开放,金融众筹模式逐渐成为一种新型的融资方式。这种模式通过互联网平台聚集大量投资者,共同参与到一个项目中,为项目提供资金支持,最终获得投资回报。今天罗峰给大家分享一款金融众筹模式系统源…

app小程序开发的重点在哪里?|企业软件定制网站建设

app小程序开发的重点在哪里?|企业软件定制网站建设 App小程序定制开发是近年来快速发展的一项技术服务,随着移动互联网的普及和用户需求的不断升级,越来越多的企业和个人开始关注和需求定制化的小程序开发。那么,对于app小程序定制…

OAuth2认证请求头中的authorization从哪里来的

Oauth2的登录接口oauth/token, 在请求头里有个 authorization: Basic dGVzdENsaWVudElkOnRlc3RDbGllbnRTZWNyZXQ 其中 dGVzdENsaWVudElkOnRlc3RDbGllbnRTZWNyZXQ 是 client-id:client-secret 的base64的编码 例如项目中的配置是(这个东西一般在网关里配置的): security:oau…

搜维尔科技:Faceware面部捕捉最佳实践!

视频源和分辨率: 我们的软件针对 RGB 彩色素材进行了优化,不支持使用红外摄像机。 我们建议视频分辨率为 720p 和 1080p。低于 720p 的分辨率可能会对跟踪质量产生负面影响,而高于 1080p 的分辨率会导致存储要求和传输时间增加,而…

程序员最奔溃的瞬间

身为程序员哪一个瞬间让你最奔溃? *程序员最奔溃的瞬间, 勇士? or 无知?

经典百搭女童加绒卫衣,看的见的时尚

经典版型套头卫衣 宽松百搭不挑人穿 单穿内搭都可以 胸口处有精美的小熊印花 面料是复合柔软奥利绒 暖和又不显臃肿哦!!

提升编程效率:软件工程师必备的10个Git命令

本文翻译自 10 Must-Know Git Commands for Software Engineers,作者: Rabi Siddique, 略有删改。 Git和GitHub是每个软件工程师必须知道的最基本的东西。这些工具是开发人员日常工作的组成部分,因为我们每天都与它们互动。熟练掌…

【excel技巧】excel表格如何转换为word

Excel表格想要转换到word文档中,直接粘贴复制的话,可能会导致表格格式错乱,那么如何转换才能够保证表格不错乱?今天分享两个方法,excel表格转换到word文件。 方法一: 首先打开excel表格,将表格…

Leetcode—1410.HTML实体解析器【中等】

2023每日刷题(三十八) Leetcode—1410.HTML实体解析器 算法思想 实现代码 typedef struct entityChar {char* entity;char rechar; }entity;entity matches[] {{""", "},{"'", \},{"&"…

解决“yarn : 无法加载文件 C:Progr Files\nodejs yarn.ps1,因为在此系统上禁止运行脚本的问题-使用命令更改计算机的执行策略

安装完成之后再配置环境变量 npm install -g yarn但是在终端上输入yarn -v命令之后会报这个错 解决方案: 1.管理员运行powershell 2.输入set-ExecutionPolicy RemoteSigned之后再输入Y set-ExecutionPolicy RemoteSigned*3.查看执行策略:get-Executi…

Vue弹窗的使用与传值

使用element-UI中的Dialog 对话框 vue组件结合实现~~~~ 定义html <div click"MyAnalyze()">我的区划</div><el-dialog title"" :visible.sync"dialogBiomeVisible"><NationalBiome :closeValue"TypeBiome" cl…

【开源】基于JAVA的高校实验室管理系统

项目编号&#xff1a; S 015 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S015&#xff0c;文末获取源码。} 项目编号&#xff1a;S015&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 实验室类型模块2.2 实验室模块2.3 实…

适用于电脑的5个免费文件恢复软件分享

适用于电脑的最佳免费文件恢复软件 任何计算机用户都可能经历过丢失重要文件的恐惧。重要数据的丢失可能会令人不安和沮丧&#xff0c;无论是由于不小心删除、计算机故障还是硬盘格式化造成的。幸运的是&#xff0c;在数字时代&#xff0c;您可以使用值得信赖的解决方案检索这些…

【代码随想录】算法训练计划30

【代码随想录】算法训练计划30 1、51. N 皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;…

部署项目时常用的 Linux 命令

目录 1 前言2 SSH登录命令3 SCP传输命令4 CP拷贝命令5 MV移动命令6 TAR解压命令7 DU查看文件夹/文件大小8 TAIL查看日志9 NOHUP后台运行10 结语 1 前言 在应用部署过程中&#xff0c;Linux命令是必不可少的工具。它们能够帮助我们管理文件、连接服务器、拷贝文件、查看日志以及…

基于SpringBoot的图书管理系统

基于SpringBoot的图书管理系统 图书管理系统开发技术功能模块代码结构数据库设计运行截图源码获取 图书管理系统 开发技术 技术&#xff1a;SpringBoot、MyBatis-Plus、MySQL、Beetl、Layui。 框架&#xff1a;基于开源框架Snowy-Layui开发。 工具&#xff1a;IDEA、Navicat等…

越南服务器租用:企业在越南办工厂的趋势与当地(ERP/OA等)系统部署的重要性

近年来&#xff0c;越南逐渐成为全球企业布局的热门目的地之一。许多企业纷纷选择在越南设立工厂&#xff0c;以利用其低廉的劳动力成本和优越的地理位置。随着企业在越南的扩张&#xff0c;对于当地部署ERP系统或OA系统等的需求也日益增长。在这种情况下&#xff0c;租用越南服…

PTA-矩阵A乘以B

给定两个矩阵A和B&#xff0c;要求你计算它们的乘积矩阵AB。需要注意的是&#xff0c;只有规模匹配的矩阵才可以相乘。即若A有Ra​行、Ca​列&#xff0c;B有Rb​行、Cb​列&#xff0c;则只有Ca​与Rb​相等时&#xff0c;两个矩阵才能相乘。 输入格式&#xff1a; 输入先后…

05 取样器(BeanShell和JSR223 Sampler)

一、取样器作用 1、取样器可以理解为Jmeter的桥梁&#xff0c;或者是Jmeter的加工厂&#xff1b; 2、Jmeter使用过程中&#xff0c;经常有些数据不能直接使用&#xff0c;需要加工后才能使用&#xff1b;这样就用到了取样器&#xff1b;但是这里存在问题&#xff0c;Jmeter中的…

VL06O报表添加增强字段

业务描述 用户需要在VL06O事务代码下进行批量交货过账&#xff0c;现有的筛选条件不太适用当前公司的业务&#xff0c;需要在报表中新增三个交货单增强字段&#xff0c;方便其筛选&#xff08;选择屏幕没有加&#xff0c;用户在报表里用标准按钮功能自己筛选&#xff09; 效果…