我已经在 Erlang 演员模型、Groovy 演员、Scala 演员模型等上下文中的多个地方看到过它。这是指什么?
Vasil
问问题
2058 次
3 回答
3
我认为维基百科总结得最好:
Actor模型采用了万物皆为Actor的理念。这类似于某些面向对象编程语言使用的一切都是对象哲学,但不同之处在于,面向对象软件通常是按顺序执行的,而 Actor 模型本质上是并发的。[snip] Actor 模型是关于消息传递的语义。
于 2009-03-21T13:44:27.570 回答
2
前段时间我写了这篇博文,解释了模型的基本概念,并用 JavaScript 构建了一个基本的实现。从帖子:
在 Actor 模型中,Actor 是您构建应用程序结构的基础,它具有对外部世界不可见的内部状态,并通过异步消息与其他 Actor 交互。
如果这听起来很像面向对象编程 (OOP),那么您是对的。Actor 模型可以被认为是对消息进行特殊处理的 OOP:它们异步传递并由接收者同步执行。
每个参与者都有一个唯一的地址,您可以通过该地址向其发送消息。当消息被处理时,它与参与者的当前行为相匹配;这只不过是一个函数,它定义了为响应消息而要采取的行动。作为对消息的响应,参与者可以:
- 创造更多的演员。
- 向其他参与者发送消息。
- 指定内部状态来处理下一条消息。
于 2017-10-03T22:09:47.733 回答
2