参与者模式(Actor model)

  • Post author:
  • Post category:其他






计算机科学

中,

参与者模式




英语



Actor model


)是一种

并行运算

上的模型。“参与者”是一种程序上的抽象概念,被视为并行运算的基本单元:当一个参与者接收到一则讯息,它可以做出一些决策、建立更多的参与者、传送更多的讯息、决定要如何回答接下来的讯息。参与者模式在1973年于

Carl Hewitt



Peter Bishop



Richard Steiger

的论文中提出



[1]



参与者模型推崇的哲学是“一切皆是参与者”,这与

面向对象编程

的“一切皆是对象”类似,但是面向对象编程通常是顺序执行的,而参与者模型是并行执行的。

参与者是一个运算实体,回应接受到的消息,同时并行的:

  • 发送有限数量的消息给其他参与者;
  • 创建有限数量的新参与者;
  • 指定接受到下一个消息时的行为。

以上操作不含有顺序执行的假设,因此可以并行进行。

发送者与已经发送的消息解耦,是参与者模型的根本优势。这允许进行异步通信,同时满足消息传递的控制结构。

消息接收者是通过地址区分的,有时也被称作“邮件地址”。因此参与者只能和它拥有地址的参与者通信。它可以通过接受到的信息获取地址,或者获取它创建的参与者的地址。

参与者模型的特征是,参与者内部或之间进行并行计算,参与者可以动态创建,参与者地址包含在消息中,交互只有通过直接的异步消息通信,不限制消息到达的顺序。

java领域有:

Jactor,Kilim,μJavaActors,Jumi,…

参考

【1】 Carl Hewitt; Peter Bishop and Richard Steiger.

A Universal Modular Actor Formalism for Artificial Intelligence

. IJCAI. 1973.

引自:

https://zh.wikipedia.org/wiki/%E5%8F%83%E8%88%87%E8%80%85%E6%A8%A1%E5%BC%8F