
并发多线程
文章平均质量分 75
liuchangqing123
这个作者很懒,什么都没留下…
展开
-
akka入门-消息派发器
Akka MessageDispatcher是维持Akka Actor “运作”的部分, 可以说它是整个机器的引擎。在没有为 Actor作配置的情况下,一个 ActorSystem 将有一个缺省的派发器。 缺省派发器是可配置的,缺省情况下是一个使用“fork-join-executor”的 Dispatcher , 在大多数情况下拥有非常好的性能。1.为 Actor 指定派发器在app原创 2015-05-20 17:12:11 · 1665 阅读 · 2 评论 -
akka入门-热插拔(become和unbecome)
Akka支持在运行时对角色消息循环 (例如它的的实现)进行实时替换: 在角色中调用getContext.become 方法。 热替换的代码被存在一个栈中,可以被pushed(replacing 或 adding 在顶部)和popped。become一个特别好的例子是用它来实现一个有限状态机。使用Become/Unbecome特性还可以很方便的实现状态转换机。1.动态替换方法im原创 2015-05-18 22:52:40 · 2658 阅读 · 0 评论 -
akka入门-对处理器状态进行持久化
该话题涉及几个概念:处理器、信道、事件源、日志、状态。消息可以持久化,通常当前的状态保存在内存中(内存镜像),而事件源机制可以通过重播接收到的消息(在应用程序正常启动或崩溃后)恢复当前(或历史)的状态。Eventsourced 实现了预写日志(write-ahead log ,WAL)用于跟踪一个Actor 所接收消息,并通过回放记录的消息来恢复其状态。处理原创 2015-05-17 21:24:56 · 1794 阅读 · 0 评论 -
akka入门-简介
为什么使用akka akka是Actor模型的实现。Actors为我们提供了以下优点:1)对并发/并行程序的简单的、高级别的抽象。2)异步、非阻塞、高性能的事件驱动编程模型。3)非常轻量的事件驱动处理。akka提供了容错性使用“let-it-crash”语义和监管者树形结构来实现容错。非常适合编写永不停机、自愈合的高容错系统。监管者树形结构可以跨原创 2015-05-17 21:04:27 · 1452 阅读 · 0 评论 -
akka入门-基于信道进行消息可靠传输
程序的演示场景是:处理器发送命令,接收者接收到消息后进行处理并且对发送方发送消息确认表明已经成功收到消息。如果没有发送确认则表明该消息没有被接收并正确处理。失败消息会到达死信箱,系统下次启动时后继续发送死信箱中的发送失败的消息。1.创建信道回复命令对象import com.center.akka.simple.command.Command;public class Channel原创 2015-05-17 21:28:47 · 1786 阅读 · 1 评论 -
akka入门-调用子Actor处理消息
程序演示了父子结构的Actor处理消息。父Actor接收到消息后调用子Actor处理。1.创建父子Actorimport java.util.UUID;import com.center.akka.simple.command.Command;import com.center.akka.simple.event.Event;import akka.actor.ActorRef;原创 2015-05-17 21:21:09 · 4019 阅读 · 0 评论 -
akka入门-定时器
使用定时器可以实现将来发生的事情进行计划执行。以下代码演示了过一段时间向Actor发送消息。1.编写Actor在Actor中只是打印出接收到的消息import akka.actor.UntypedActor;import akka.event.Logging;import akka.event.LoggingAdapter;public class TestActor ex原创 2015-05-17 21:37:36 · 6279 阅读 · 0 评论 -
akka入门-有类型的Actor
Akka 中的有类型 Actor 是 Active Objects 模式的一种实现. Smalltalk诞生之时,就已经缺省地将方法调用从同步操作发为异步派发。有类型 Actor 由两 “部分”组成, 一个公开的接口和一个实现。对普通actor来说,你拥有一个外部API (公开接口的实例) 来将方法调用异步地委托给其实现的私有实例。有类型Actor相对于普通Actor的优势在于有类原创 2015-05-17 21:34:33 · 1393 阅读 · 0 评论 -
akka入门-简单示例
以下程序演示了akka的一个简单的示例。创建Actor去处理一条命令,通过消息传递的方式进行交互。我使用的akka版本和相关jar包参见pom文件:<project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema原创 2015-05-17 21:09:09 · 4299 阅读 · 0 评论 -
akka入门-Futures
在 Akka 中, 一个 Future 是用来获取某个并发操作的结果的数据结构。 这个操作通常是由 Actor 执行或由 Dispatcher 直接执行的. 这个结果可以是同步(阻塞)或异步(非阻塞)的方式访问。其中有执行上下文ExecutionContext。为了运行回调和操作, Futures 需要有一个 ExecutionContext, 它与 java.util.concurren原创 2015-05-17 21:39:41 · 1134 阅读 · 0 评论 -
akka入门-事件总线
事件总线就是总线上有各种事件和不同订阅者,订阅者可以绑定不同的事件,总线上有事件接收到时会将消息发布到该消息的所有订阅者中。1.编写事件发送Actorimport akka.actor.UntypedActor;import akka.event.Logging;import akka.event.LoggingAdapter;import com.center.akka.si原创 2015-05-17 21:33:00 · 2142 阅读 · 0 评论 -
akka入门-远程调用
akka远程调用有两种形式:一种是查找远程Actors,一种是创建远程Actors。公用的类:import java.io.Serializable;public class Op { public interface MathOp extends Serializable { } public interface MathResult extends Serial原创 2015-05-25 23:52:39 · 4051 阅读 · 1 评论