邮箱,队列,信号在LCD菜单中内容刷新的选用

发布于 2020-11-30 15:15:34

LCD显示根据不同的页面显示不同的内容,页面分固定显示内容和动态刷新内容(来自3个线程的不同内容),我觉的在这里使用邮箱或者信号+共享数据合适,而消息队列不合适,请问我的理解是否对:
1 用邮箱:里面包含3个邮件,能区分发来的内容是谁发来的,缺点是当显示线程优先级低(不影响主任务),或协调不好时,刷新会不及时。
2 当用信号+共享数据:好的一方面是信号的优先级比线程任务的高,刷新及时性有保证,没有信号来时又不影响其它主要任务。缺点是对于生成消费模型的共享数据的互斥。
3 队列:好处是异步缓冲,但缺点是2个不能区分是谁发来的(使用局部消息结构体?)和刷新的及时性不好。
4 还有一点:在我的理解中,邮箱相当于函数调用里面的传指针(浅拷贝内容);而队列相当于内容的深拷贝(有自己的缓冲区),同时函数调用有个生命期的问题,即传地址时从传入开始到函数退出结束,对于生产消费类型的共享数据这段时间是不是独占啊?
请问我该使用什么样的方式,是邮箱吗?

查看更多

关注者
0
被浏览
154
0 个回答
暂无答案,快来添加答案吧

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览