无论通信是直接的还是间接的,通信进程所交换的消息都驻留在临时队列中。

这样的队列有三种实现方式:

  • 零容量(Zero capacity):队列的最大长度为0;因此,该通信线路中不能有任何消息在里面等着。在这种情况下,发送方必须阻塞,直到接收方接收消息。
  • 限界容量(Bounded capacity):队列有固定的长度:n;因此,最多有n条消息可以驻留在队列中等待。如果队列不是满得,那么当发送信息时,消息被直接扔到队列中(要么复制消息,要么是到消息所保存地址的指针),发送者可以继续执行而不需要等待。通信线路的容量是有限的。如果通信线路满了,发送者还是要阻塞等待队列的空间变得可用。
  • 无限容量(Unbounded capacity):队列的长度是无限的;因此任何数量的消息都可以在其中等待。发送者不需要阻塞。

“零容量”的情况有时被称为“没有缓冲”的消息系统。 其他的例子被称为具有自动缓冲的系统。

results matching ""

    No results matching ""