• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

freertos的邮箱消息和消息队列传递参数有什么不同的地方

阳光漫步者 2020-03-25 浏览量:1862
一般用的是哪种方式
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 邮箱是一个通过在系统共享存储区内传递消息来实现同步和通信的对象。
    每个邮箱包含一个用于发送消息的消息队列和一个用来接受消息的消息队列。由于是在共享存储区域,因此它对每个任务都是可见的。
    而一般的消息队列,还可用来处理任务与外部事件之间的通信。比如一个按键消息。然后其中一个任务可以在消息队列中尝试去获取消息。消息的分发可以由一个线程对立进行,或是通过事件处理例程进行发派。
    • 发布于 2020-04-07
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 他们传递消息的机制不同,所以用处不同,也没有一般用那种的说法,要看那种适合

    邮箱消息或者说任务通知是从V8.20版本开始支持的新功能,它可以让任务间通信更直接,即任务A直接对任务B发消息,而且这种消息可以明确已发消息是否已经处理(如果任务B还没有处理好以往消息,新消息就不能发送成功),这样可以进行一定的协调同步,不过这也带来了更多的资源需要。


    而普通消息队列中没有直接这样的效果,需要额外处理来模拟。



    • 发布于2020-03-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 邮箱可以指定发送对象,队列则是全部task都可以访问,至于用哪个,要看使用场合
    • 发布于2020-03-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

freertos的邮箱消息和消息队列传递参数有什么不同的地方