Actors编程模型

《Spark内核设计与艺术》中提到scala actor编程模型,java 同步编程模型,于是疑问什么actor模型?

不管是actor编程模型同步编程模型,都是针对并发编程的。

十分钟理解Actor模式
这边博文中对比了 actor模型共享内存
共享内存这种方式就是我以为的“同步编程模型”

同步编程模型指的就是共享一份内存,对于共享变量加锁保证并发

actor模型指的是把数据分发下去单独计算。mapreduce那种,主要用到的技术是消息传递

Actors模型(Actor model)首先是由Carl Hewitt在1973定义, 由Erlang OTP (Open Telecom Platform) 推广,其 消息传递更加符合面向对象的原始意图。 Actors属于并发组件模型 ,通过组件方式定义并发编程范式的高级阶段,避免使用者直接接触多线程并发或线程池等基础概念。

Actor是计算机科学领域中的一个并行计算模型,它把actors当做通用的并行计算原语

在Actor理论中,一切都被认为是actor,这和面向对象语言里一切都被看成对象很类似。但包括面向对象语言在内的软件通常是顺序执行的,而Actor模型本质上则是并发的。

传统多数流行的语言并发是基于多线程之间的共享内存,使用同步方法防止写争夺,Actors使用消息模型,每个Actors在同一时间处理最多一个消息,可以发送消息给其他Actors,保证了单独写原则 。从而巧妙避免了多线程写争夺。

参考
十分钟理解Actor模式
Actors编程模型

猜你喜欢

转载自blog.csdn.net/jh_zhai/article/details/80143119