在akka框架中,使用ActorRefs比使用Actors 有更好的优势
工具/原料
1
IntelliJ IDEA
2
jdk1.8
3
akka
方法/步骤
1
这种间接级别, 让actor system创建actor , 而你处理一个ActorRef object , 意味着如果你的actor 崩溃, actor system可以为给定的ActorRef为创建一个新的actor 。事实上, 带有 actorRef 的客户端代码甚至不知道actor 已崩溃, 并且仍然可以在它正在运行的假设下发送消息。
2
如下图显示了这一点, 同时介绍了如何将值返回到调用代码。
3
此actor system 有两个类。当DividingActor 收到整条消息时, 它只需将10除以接收的值。当然, 如果接收到零, 则会导致一个由零除法的 'ArithmeticException异常'。
4
默认情况下, actor 不会重新启动, 尽管在这种情况下, SupervisorStrategy 被定义为始终重新启动。
5
演员中的代码忘记了崩溃。它只是向演员发送消息, 并且能够接收消息, 因为它本身就是一个参与者。这种发送和接收消息的解耦允许很大的灵活性, 因为没有对结果的阻塞;返回结果时, 只需调用参与者的 onReceive 方法。
6
通过开发应用程序来处理消息处理, 而不是调用的命令式方法, 然后阻止直到您收到响应, 您可以创建响应迅速的系统。
上一篇:lol英雄小技巧