Actor model(执行者模型)
Actor模型 在计算机科学中是并发计算的数学模型,其中“actor”是基本构建块。
Actor模型允许开发人员通过使用actor进行通信来构建可靠的基于消息的系统。状态机和状态图可以对actor的逻辑进行建模。这些actor可以相互通信,也可以与其他actor通信。
什么是“actor”?
Actors 是独立的“活”对象,可以通过异步消息传递相互通信。在 XState 中,我们将这些消息称为事件。
- Actor 具有自己的内部封装状态,只能由 actor 自己更新。Actor 可以选择在收到消息后更新其内部状态,但不能被任何其他实体更新。
- Actors 通过异步发送和接收事件与其他 actors 通信。
- Actors 一次处理一条消息。它们有一个内部的“邮箱”,就像一个事件队列一样,按顺序处理事件。
- 内部 actor 状态不在 actors 之间共享。actor 共享其内部状态的唯一方式是:
- 向其他 actors 发送事件
- 或者发出快照,这可以被视为发送给订阅者的隐式事件。
- Actors 可以创建(生成/调用)新的 actors。
你会发现你可能已经熟悉的软件中有很多与 actor 模型相似的地方。对象封装状态并相互传递消息的概念可能来自面向对象编程。而 actors 类似于现实世界中的物理概念,如细胞生物学和人际关系中的通信。
状态
Actor 具有自己的内部封装状态,只能由 actor 自己更新。Actor 可以选择在收到消息后更新其内部状态,但不能被任何其他实体更新。Actors 不共享状态。actor 共享数据的唯一方式是发送事件。