操作系统中消息队列和邮箱有什么区别。
我怀疑对于消息队列与邮箱的区别还没有普遍接受的定义。每个 RTOS 可能使用不同的术语和实现细节,因此您必须单独查看每个 RTOS。
一般来说,一些常见的差异包括:
队列在计算中具有非常精确的含义,作为具有先进先出(FIFO)访问语义的容器数据结构。特别是在 RTOS 队列中,对队列的访问将是线程安全的并且具有阻塞语义。 另一方面,
Amailbox 没有普遍接受的特定语义,并且我看到该术语用于指代非常不同的 RTOS IPC 机制。在某些情况下,它们实际上是队列,但如果 RTOS 也支持 IPC 队列,则邮箱将具有某种不同的语义 - 通常与内存管理有关。在其他情况下,邮箱本质上可能是长度为 1 的队列 - 即它具有队列的阻塞和 IPC 功能,但没有缓冲。这种机制允许进程之间进行同步通信。
但是与队列相比,邮箱有额外的开销。