[ 2019-05-27 ] Actor 和消息传递

2020-03-12  本文已影响0人  香山上的麻雀

Actor 和对象的不同之处在于其不能被直接读取、修改或是调用。反之, Actor 只能通过消息传递的方式与外界进行通信。

简单来说, 消息传递指的是一个 Actor 可以接收消息(消息可以是一个对象), 可以发送消息, 也可以对接收到的消息作出回复。

尽管我们可以将这种方式与向某个方法传递参数并接收返回值进行类比,但是消息传递与方法调用在本质上是不同的:

消息传递是异步的。无论是处理消息还是回复消息,Actor 对外界都没有依赖。
Actor 每次只同步处理一个消息。邮箱本质上是等待 Actor 处理的一个工作队列,如

处理一个消息时,为了能够做出响应,Actor 可以修改内部状态,创建更多 Actor 或是将消息发送给其他 Actor。

几个重要的概念

在 Actor 处理消息前具体存储消息的地方。可以将其看作是一个消息队列。

Actor 系统

多个 Actor 的集合以及这些 Actor 的邮箱地址、邮箱和配置等。

上一篇 下一篇

猜你喜欢

热点阅读