📜  消息队列和邮箱的区别

📅  最后修改于: 2022-05-13 01:58:10.787000             🧑  作者: Mango

消息队列和邮箱的区别

概述 :
任务是学习计算机科学领域消息队列和邮箱之间的一些区别。在计算机科学中,消息队列和邮箱是软件工程组件,通常用于机器间通信 (IPC) 或同一机器内的线程间通信。他们使用队列进行消息传递——操作或内容的传递。组对话结构提供了类似的功能。

消息队列:

  1. 消息队列使程序可以通过队列向每个不同的人发送消息,从而实现异步对话。消息队列在发送者和接收者之间提供简短的存储,以便发送者可以在度假胜地应用程序繁忙或现在不再连接时保持运行而不会中断。异步处理允许任务命名提供者,并直接流向后续任务,同时提供者以自己的速度处理请求。
  2. 队列是一系列准备好处理的因素——从行首开始按顺序排列。消息队列是在应用程序之间发送的消息队列。它由一系列准备好处理的劳动力项目组成。
  3. 数据在发送方和接收方应用程序之间传输,这称为消息。我们可以说它是一个字节数组,顶部有一些标题。
  4. 消息队列的基本结构很简单:有被称为制造商的购买者程序创建消息并将它们提供给消息队列。另一个称为客户的应用程序连接到队列并接收要处理的消息。定位到队列中的消息将被保存,直到客户检索它们。队列可以为运营商中断和故障提供安全保障。
  5. 队列的一些常见示例是 Kafka、Heron、实时流、Amazon SQS 和 RabbitMQ。

邮箱:

  • 邮箱是一种简单的异步通信机制。一些架构概述了邮箱寄存器。这些邮箱具有硬性和快速的位范围,可用于小消息。我们还可以强制邮箱使用 P() 和 V() 使用邮箱存储的基本内存。一个非常简单的邮箱模型,一次只保存最简单的一条消息,说明了进程间通信中的一些关键标准。
  • 为了使邮箱发挥最大作用,我们需要它包含以下项目:邮件本身和邮件准备标志。该标志在邮件被定位到邮箱的同时是真实的,并且在邮件被删除的同时被清除。

它们之间的区别:

  • 标准中的队列具有非常特殊的意义,这意味着在计算中具有先进先出 (FIFO) 的盒子事实形状,可以访问语义。具体来说,在 RTOS 队列中,获得进入队列的权利可能是线程安全的,并且具有阻塞语义。
  • 邮箱也没有通常由来已久的独特语义,我什至可以看到用于咨询非常特殊的 RTOS IPC 机制的时间段。在少数情况下,确实存在队列,但是,如果 RTOS 还支持 IPC 队列,则邮箱可能具有某种非同寻常的语义——通常与内存管理有关。在不同的情况下,邮箱也可能基本上是周期 1 的队列——即它具有队列的阻塞和 IPC 功能,但不使用缓冲。这种机制允许进程之间的同步对话。