目录

一.简介

二.API

1.递归互斥信号量的创建

2.递归互斥信号量的take

3.递归互斥信号量的take

三.代码示例

1.声明

2.创建

3.获取和释放

四.实验结果

一.简介

        递归互斥信号量是特殊的互斥信号量,同样具有优先级继承机制,不同的是递归互斥信号量可以多次take,take了多少次,就得跟着give多少次。

        递归互斥信号量同样不能用于中断中。

二.API

1.递归互斥信号量的创建

这里只介绍递归互斥信号量的动态创建。

形参:无

返回值:

 NULL:递归互斥信号量创建失败

其他:递归互斥信号量创建成功的句柄

2.递归互斥信号量的take

形参:

xMutex:创建的互斥信号量句柄

xBlockTime:阻塞时间

返回值:

pdFAIL:give失败

pdPASS:give成功

3.递归互斥信号量的take

形参:

xMutex:互斥信号量句柄

返回值:

pdFAIL:give失败

pdPASS:give成功

三.代码示例

1.声明

2.创建

3.获取和释放

四.实验结果

可以看到递归互斥信号量可以连续获取,获取了多少次,必须要释放多少次。

CAN解析工具免费下载:https://download.csdn.net/download/qq_45631231/91981307?spm=1001.2014.3001.5503

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐