问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

free rtos 递归互斥信号量有什么用处

发布网友 发布时间:2022-04-23 13:08

我来回答

2个回答

热心网友 时间:2023-10-14 21:47

意义:混用递归锁和非递归锁,可能会造成程序的死锁。
MutexLock mutex;
 
void foo()
{
        mutex.lock();
        // do something1
        mutex.unlock();
}
 
void bar()
{
        mutex.lock();
        // do something2
        foo();
        mutex.unlock();        
}

上面的代码反映了一种问题:

a\foo()函数即有可能独自调用也可能作为bar()函数中的子函数一起调用;

b\do something1和do something2都有是要保护的临界区.

上面简单的情况下可以用代码技巧避免死锁。而对于如递归二叉树排序的问题如果你比较厉害好像也可以把递归函数写成for循环的形式.但对于两个函数来回调用的时候,就必须使用递归互斥信号量了.

参考文献:线程同步之利器(1)——可递归锁与非递归锁网页链接

需要注意的是,以上代码值得是Linix.回到FreeRTOS,

递归互斥信号量就是用递归函数里面有需要保护的变量时使用的.依然以如递归二叉树排序为例.

但FreeRTOS递归互斥信号量没办法实现上文所说交叉调用.

热心网友 时间:2023-10-14 21:47

操作系统中的信号指的是一个相对抽象的概念。信号量 sem 是指在利用 P、V 原语编程时所需要对 sem 进行的赋值操作(加 1 或者减 1 操作)。具体的例子你可以参照操作系统教材上的程序。进程的同步和互斥是操作系统中非常重要的概念。

热心网友 时间:2023-10-14 21:47

意义:混用递归锁和非递归锁,可能会造成程序的死锁。
MutexLock mutex;
 
void foo()
{
        mutex.lock();
        // do something1
        mutex.unlock();
}
 
void bar()
{
        mutex.lock();
        // do something2
        foo();
        mutex.unlock();        
}

上面的代码反映了一种问题:

a\foo()函数即有可能独自调用也可能作为bar()函数中的子函数一起调用;

b\do something1和do something2都有是要保护的临界区.

上面简单的情况下可以用代码技巧避免死锁。而对于如递归二叉树排序的问题如果你比较厉害好像也可以把递归函数写成for循环的形式.但对于两个函数来回调用的时候,就必须使用递归互斥信号量了.

参考文献:线程同步之利器(1)——可递归锁与非递归锁网页链接

需要注意的是,以上代码值得是Linix.回到FreeRTOS,

递归互斥信号量就是用递归函数里面有需要保护的变量时使用的.依然以如递归二叉树排序为例.

但FreeRTOS递归互斥信号量没办法实现上文所说交叉调用.

热心网友 时间:2023-10-14 21:47

操作系统中的信号指的是一个相对抽象的概念。信号量 sem 是指在利用 P、V 原语编程时所需要对 sem 进行的赋值操作(加 1 或者减 1 操作)。具体的例子你可以参照操作系统教材上的程序。进程的同步和互斥是操作系统中非常重要的概念。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在爱水APP哪个模块中可以填写个人信息,查询自己一天的饮水量? 黄金为什么是避险产品 避险买什么 避险品种是什么 避险产品什么意思 什么是避险产品 ...对联和我们平时使用的印章,说说使用了哪几个字体 对联上写的是什么字 ...有一空是让我评价我自己,请各位哥哥姐姐帮帮忙,帮我编一段,往好了... 艾灸用品哪种好 阳光体育 快乐成长作文 要一篇校园生活的作文,注意不要光写景色要有具体事,是在校园外发生的事,如运动会等。是夏天的早晨。有 大学必做的100件事情 写好玩有趣的事的作文 低年级校园趣事收集 写一篇发生在身边学校的事的作文!!! 10年5月份河南普通话等级考试成绩什么时候可以查 班级趣事(作文) 郑州市普通话考试怎么报名? 百兆口和千兆口的区别 普通话考试网上去哪里报名(网址是什么)?普通话考试一年几次,最近的一次是在几月报名? 《班级趣事》作文,400以上 同学之间发生的搞笑事 急急急急急急急急急急。。。。。。。。。 河南省普通话考后多久可以查成绩,领证书 你好 我以前在河南考的普通话过了 现在却查不到成绩 不知道怎么回事 求一篇关于同学情和师生情或校园趣事的作文(400字!)谢谢 校园里发生的事情 作文500字 哥儿姐们: 请问 河南普通话成绩在那里可查到? 谢谢你 发生在校园里的一件事 作文怎么写 洛阳市普通话考试,网上去哪里报名(网址是什么)?普通话考试一年几次... 关于校园趣事的作文!!!急急急急~!!!快快!! 华为FreeLace Pro无线耳机功能介绍 怎样给挂壁式空调添加制冷剂? Freertos和RT-Tthread各有什么优缺点 freertos 为什么要提供中断使用api 陈键锋一共到过几次快乐大本营 哪位高手用过FreeRTOS?对它的任务切换时间有了解吗?我做了一个时间测试,发现FreeRTOS的任务切换超长。 中央空调室外机制冷剂添加? 请教一下freertos的低功耗模式(tickless)的用法 陈键锋参加过那一期快乐大本营? 海尔机子怎么给空调加制冷剂 freertos操作系统有没有在ups上应用 freertos怎么用,在哪个环境下用?谢谢 快乐大本营里面有害你在心口难开的是哪几期|? R410A的变频空调怎样加制冷剂? 快乐大本营里面一个游戏是好多人玩的,头顶顶一个牌子自己看不见是什么文字,然后别人引诱你做出这个动作 esp8266有那些模式 模式又有什么作用 舒畅和陈键锋是在哪一期去过快乐大本营 arm的开发问什么要用linux 舒畅和陈键锋一起参加快乐大本营好久播 为什么51单片机不支持FreeRTOS而AVR却支持?它的约束因素是什么?