理论教育 Scala语言基础与开发实战:邮箱实现与特点

Scala语言基础与开发实战:邮箱实现与特点

时间:2023-11-24 理论教育 版权反馈
【摘要】:邮箱是基于Java concurrent中的队列来实现的,这种队列有以下特点:1)阻塞队列:队列将会阻塞,直到队列空间可用或者队列中有可用元素。2)有界队列:队列的大小是被限制的,不能添加超过队列大小的元素到队列中。Akka自带一些缺省的邮箱实现:●UnboundedMailbox。

Scala语言基础与开发实战:邮箱实现与特点

邮箱用于保存接收的消息,在Akka中除了使用BalancingDispatcher分发器的Actor以外,每个Actor拥有自己的邮箱。使用同一个BalancingDispatcher的所有Actor共享同一个邮箱实例。

邮箱是基于Java concurrent中的队列来实现的,这种队列有以下特点:

1)阻塞队列:队列将会阻塞,直到队列空间可用或者队列中有可用元素。

2)有界队列:队列的大小是被限制的,不能添加超过队列大小的元素到队列中。

Akka自带一些缺省的邮箱实现:

●UnboundedMailbox。

底层是一个java.util.concurrent.ConcurrentLinkedQueue。

阻塞:否。

有界:否。

●BoundedMailbox。

底层是一个java.util.concurrent.LinkedBlockingQueue。

阻塞:是。(www.daowen.com)

有界:是。

●UnboundedPriorityMailbox。

底层是一个java.util.concurrent.PriorityBlockingQueue。

阻塞:是。

有界:否。

●BoundedPriorityMailbox。

底层是一个java.util.PriorityBlockingQueue。

阻塞:是。

有界:是。

●持久邮箱。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈