硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3861|回复: 6
收起左侧

[FreeRTOS] freertos 消息队列是怎么实现资源互斥的?

[复制链接]

41

主题

112

回帖

235

积分

高级会员

积分
235
发表于 2021-3-3 16:36:53 | 显示全部楼层 |阅读模式
低级任务正在往队列里面放消息,又来一个高级任务也要往这个任务里面放消息,高级要等低级任务放完吧,但低级还没放完,又来一个中级任务抢占了低级任务,
此时此刻,是不是发生了大名鼎鼎的 优先级反转?

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106717
QQ
发表于 2021-3-4 09:15:47 | 显示全部楼层
消息队列没有优先级翻转问题。你可以简单看下FreeRTOS的消息队列实现,关键部分是做的开关中断或者调度锁实现。
回复

使用道具 举报

41

主题

112

回帖

235

积分

高级会员

积分
235
 楼主| 发表于 2021-3-8 17:07:25 | 显示全部楼层
eric2013 发表于 2021-3-4 09:15
消息队列没有优先级翻转问题。你可以简单看下FreeRTOS的消息队列实现,关键部分是做的开关中断或者调度锁实 ...

这样搞的啊,岂不是会影响实时性?
回复

使用道具 举报

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2021-3-11 17:52:54 | 显示全部楼层
bear_yh 发表于 2021-3-8 17:07
这样搞的啊,岂不是会影响实时性?

那就是自己设计问题了
回复

使用道具 举报

41

主题

112

回帖

235

积分

高级会员

积分
235
 楼主| 发表于 2021-3-12 09:35:31 | 显示全部楼层
eric2013 发表于 2021-3-4 09:15
消息队列没有优先级翻转问题。你可以简单看下FreeRTOS的消息队列实现,关键部分是做的开关中断或者调度锁实 ...

如果进入临界态关中断了,此时来一个中断,这个中断会不会丢啊?
回复

使用道具 举报

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2021-3-12 10:57:14 | 显示全部楼层
bear_yh 发表于 2021-3-12 09:35
如果进入临界态关中断了,此时来一个中断,这个中断会不会丢啊?

都关闭中断了,怎么还会来中断。。
回复

使用道具 举报

41

主题

112

回帖

235

积分

高级会员

积分
235
 楼主| 发表于 2021-3-17 09:52:53 | 显示全部楼层
杨登辉 发表于 2021-3-12 10:57
都关闭中断了,怎么还会来中断。。

虽然关了中断,可是后来来了中断,不会响应中断,中断标志位还是设置起来的吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-30 15:37 , Processed in 0.297099 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表