
【Akka】
文章平均质量分 51
laiwenqiang
世间最痛苦的事,莫过于泯然于众人,默默无闻。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Akka学习笔记01--简介和HelloWorld程序
Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。 Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题。其特点如下: 系统中的所有事物都可以扮演一个Actor Actor之间完全独立 在收到消息时Actor所采取的所有动作都是并行的,在一原创 2014-12-22 15:26:54 · 1180 阅读 · 2 评论 -
Akka学习笔记07--TypedActor(有类型的Actor)
Akka 中的有类型 Actor 是 Active Objects 模式的一种实现,将异步的调用执行逻辑封装在一个方法内,在代码层面保证了的顺序执行思维。 Active Objects 设计模式 来自维基百科 Active Objects 。 该设计模式包含了六种元素: 代理:提供了面向客户端的带有公开方法的接口。接口:定义了到 active object 的请求方法(业务代码提供转载 2015-02-25 10:16:45 · 2819 阅读 · 0 评论 -
Akka学习笔记03--计算多个句子中每个单词出现的次数
*********** (暂时粗略写下,用空扩充。。) 用到的主要方法: 1.tell,!。 2.asssk,?。 3.RoundRobinRouter,如代码段: val reduceActor = context.actorOf(Props[ReduceActor].withRouter( RoundRobinRouter(nrOfInstances = 5)), na原创 2015-02-03 23:55:49 · 849 阅读 · 0 评论 -
Akka源码分析--转载收藏
看akka源码的一些体会,没有列出源码来。akka代码主要包括两块:底层分发(akka.dispatch包)和上层模型(akka.actor包),从底层线程调度(dispatch)往上看起 函数式语言主要处理表达式求值,面向对象语言主要处理对象间消息发送消息。 1. 底层线程调度 Doug Lea: ForkJoinTask ForkJoinTask是用少数线程执行转载 2015-02-05 19:13:52 · 1576 阅读 · 0 评论 -
Akka学习笔记06--Actor的消息
向Actor发送消息,分为两种方式: tell,或者使用符号“!”:没有返回值。写法如下: actor ! msg //or actor.tell(msg) //or actor tell msg 如果需要指定发送消息的actor,可以写成: actor.tell(msg, anotherActorRef) ask,或者使用符号“?”:有Future类型的返回值,而且原创 2015-02-05 23:02:29 · 735 阅读 · 0 评论 -
Akka学习笔记04--Actor生命周期
actor的生命周期大致上可分为下面三种阶段: •初始化和启动 •通过执行特定的行为来接收和处理消息。 •当接收到终止命令时,停止。 此外,当actor的生命周期改变时,我们可以运用一些额外的可选方法(hooks)控制这些状态: •重写preStart()和postStop()方法:可以初始化/清空任何actor资源。 •重写preRestart原创 2015-02-04 22:53:59 · 1045 阅读 · 0 评论 -
Akka学习笔记05--Actor的创建
显而易见,是通过actorOf()方法创建一个actor,但有两种途径: •运用actor system。如: val system = ActorSystem("MyActorSystem") val myActor = system.actorOf(Props(new MyActor(10)), name = "myActor") •在另外一个actor里调用context。如:原创 2015-02-04 23:42:03 · 1098 阅读 · 0 评论 -
Akka运行出错:AKKA: missing or invalid dependency detected while loading class file 'ActorSystem.class'
运行akka项目的时候,只添加了akka-actor_2.11-2.3.4.jar包,导致编译报错: Error:scalac: missing or invalid dependency detected while loading class file 'ActorSystem.class'. Could not access term config in value com.typesa原创 2015-02-01 19:29:40 · 3019 阅读 · 0 评论 -
Akka学习笔记02--PI值计算,采用多核处理器并行计算
我们所使用的算法叫“embarrassingly parallel” 意思是每个子任务是独立完成的,与其它子任务无关。这个算法可以高度并行化,所以非常适合使用actor模型。 以下是我们所使用的算法的公式: 在这个特定的算法中,有一个主actor将序列分割成段并发送给工作actor来进行计算。当工作actor完成自己的序列段的计算后将结果传给主actor,由主actor进行汇总。 我原创 2014-12-22 17:32:51 · 2555 阅读 · 2 评论 -
Akka理论总结
AKKA 是一款基于actor模型实现的并发处理框架。基于事件驱动的并发处理模型,每一个actor拥有自己的属性和操作,这样就避免了通常情况下因为多个线程之间要共享属性(数据)而是用锁机制的处理。这种机制在scala,cloure 语言中应用的很好,将操作和属性放在一个独立的单元中进行处理,从而提高并发处理的能力。 Akka的五大特性 1)易于构建并行和分布式应用 (Simple Co原创 2015-10-24 14:37:42 · 3137 阅读 · 0 评论