Actor Model

The actor model in computer science is a mathematical(数学的) model of concurrent computation(计算) 

that treats "actors" as the universal primitives(通用原语) of concurrent computation: in response to a

message that it receives, an actor can make local decisions, create more actors, send more messages, and

determine how to respond to the next message received. The actor model originated in 1973. It has been

used both as a framework for a theoretical(理论) understanding of computation and as the theoretical

basis for several practical implementations of concurrent systems. The relationship of the model to other

work is discussed in Indeterminacy in concurrent computation and Actor model and process calculi.

The Actor Model provides a higher level of abstraction for writing concurrent and distributed systems. It alleviates

the developer from having to deal with explicit locking and thread management, making it easier to write correct

concurrent and parallel systems. Actors were defined in the 1973 paper by Carl Hewitt but have been popularized

by the Erlang language, and used for example at Ericsson with great success to build highly concurrent and reliable

telecom systems.

The API of Akka’s Actors is similar to Scala Actors which has borrowed some of its syntax from Erlang.

时间: 2024-11-11 01:38:50

Actor Model的相关文章

C++多线程开发之actor model

最近想把写过的一个多线程程序整理一下,这个程序主要特点是有一系列的互相之间有依赖关系的task.于是在网上找相关类库 1,一类是简单的线程池了,这也是原本俺的做法.之前使用的是手工调度,代码实现的很蛋疼.外面的lib有poco https://pocoproject.org/slides/130-Threads.pdf2,Intel TBB, MS PPL (Parallel Patterns Library)之类的类库,感觉这里一类本质上和1没有大的分别3,微软的并行库1)MS PPL (Pa

2014.8.12-AKKA和Actor model 分布式开发环境学习小结

学习使用AKKA 断断续续有一年了.目前还是习惯用java来写akka下面的程序.对于原生的scala还是没有时间和兴趣去学习它. 毕竟学习一门语言需要兴趣和时间的. AKKA学习资源还是不算丰富. 看过最多的就是官方的编程手册,还有就是AKKA Essentials 这两本.  自己动手写的程序还不算多,也放在github上面. 另外,在akka编译配置.升级版本上,以及部署多台服务器组建akka cluster 方面花费了不少时间.因为项目需要,上周重新在办公室用两台mac台式机和一台thi

用actor model实现intel tbb这样的用法

关于什么事actor model,什么事intel tbb这样的用法我就不详细说了,具体请上网查文档 class MyActor { F f; MyActor inputs[]; MyActor outputs[]; int n; #internal void run() { f(); for o in outputs: sendMsg(o, this) } ##1 void addOutput(o) { outputs.append(o); } ##2 void onFirstRun() {

c# 初识Actor Model

最近学了点 c# dataflow的一些东西,然后国外有个人,用dataflow来实现了,一个Actor模型: 这里做个比较,算是初识我们的actor模型,然后我们再进一步的深入了解一哈: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading.Tasks.Dataflow;

.NET的Actor模型:Orleans

Orleans是微软推出的类似Scala Akka的Actor模型,Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服务, 可用于实现DDD+EventSourcing/CQRS系统. 传统的三层体系结构包括无状态的前端,无状态的中间层和存储层在可伸缩性方面是有限制的,由于存储层在延迟和吞吐量方面的限制,这对于每个用户请求都有影响.通常办法是在中间层和存储层之间添加缓存层来提高性能.然而,缓存会失去了大部分的并发性和底层存储层的语义保证.为了防止缓存和存

actor

_timcharper1月 20 02:18 @timcharper , so what app the actor model can help, and what app the thread modle can help, could you please give me some advice? say, a heavy traffic app, for example a instant message server is ok using actor model, bussy log

ActorLite: 一个轻量级Actor模型实现

Actor模型 Actor模型为并行而生,具Wikipedia中的描述,它原本是为大量独立的微型处理器所构建的高性能网络而设计的模型.而目前,单台机器也有了多个独立的计算单元,这就是为什么在并行程序愈演愈烈的今天,Actor模型又重新回到了人们的视线之中了.Actor模型的理念非常简单:天下万物皆为Actor,Actor之间通过发送消息进行通信.Actor模型的执行方式有两个特点: 每个Actor,单线程地依次执行发送给它的消息. 不同的Actor可以同时执行它们的消息. 对于第1点至今还有一些

Actor初识

Akka -构建与JVM上的 高并发.分布式和可快速恢复的消息驱动应用的工具集        我们相信编写出正确的具有容错性和可扩展性的并发程序太困难了.这多数是因为我们使用了错误的工具和错误的抽象级别.Akka就是为了改变这种状况而生的.通过使用Actor模型我们提升了抽象级别,为构建正确的可扩展并发应用提供了一个更好的平台(工具). 那什么是 actor模型? (Actor model)是一种并发运算上的模型."参与者"是一种程序上的抽象概念,被视为并发运算的基本单元:当一个参与者

Akka 2 Actor 源码

Actor源码研究,先附上源码 // ...... object Actor {   /**    * Type alias representing a Receive-expression for Akka Actors.    */   //#receive   type Receive = PartialFunction[Any, Unit]   //#receive   /**    * emptyBehavior is a Receive-expression that matche