akka linux 端口,Actor模型开发库 Akka

Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。

Actor模型并非什么新鲜事物,它由Carl Hewitt于上世纪70年代早期提出,目的是为了解决分布式编程中一系列的编程问题。其特点如下:

系统中的所有事物都可以扮演一个Actor

Actor之间完全独立

在收到消息时Actor所采取的所有动作都是并行的,在一个方法中的动作没有明确的顺序

Actor由标识和当前行为描述

Actor可能被分成原始(primitive)和非原始(non primitive)类别

非原始Actor有

由一个邮件地址表示的标识

当前行为由一组知识(acquaintances)(实例变量或本地状态)和定义Actor在收到消息时将采取的动作组成

消息传递是非阻塞和异步的,其机制是邮件队列(mail-queue)

所有消息发送都是并行的

Java 代码:

public class Greeting implements Serializable {

public final String who;

public Greeting(String who) { this.who = who; }

}

public class GreetingActor extends UntypedActor {

LoggingAdapter log = Logging.getLogger(getContext().system(), this);

public void onReceive(Object message) throws Exception {

if (message instanceof Greeting)

log.info("Hello " + ((Greeting) message).who);

}

}

ActorSystem system = ActorSystem.create("MySystem");

ActorRef greeter = system.actorOf(Props.create(GreetingActor.class), "greeter");

greeter.tell(new Greeting("Charlie Parker"), ActorRef.noSender());

Scala 代码:

case class Greeting(who: String)

class GreetingActor extends Actor with ActorLogging {

def receive = {

case Greeting(who) ⇒ log.info("Hello " + who)

}

}

val system = ActorSystem("MySystem")

val greeter = system.actorOf(Props[GreetingActor], name = "greeter")

greeter ! Greeting("Charlie Parker")

b326750f4072754e9f5854c647a8dc88.png0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单粗暴的肢体语言解读攻略 | 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅(图源网络,侵权删)

基于事件驱动架构构建微服务第1部分:应用程序特定的业务规则

原文链接:https://logcorner.com/building-microservices-through-event-driven-architecture-part1-application-specific-business-rules/如今,洋葱或六边形等架构为代码的可测试性和维护、与外部框架的独立性提供了重要帮助。在本教程中,我…

JavaWeb 项目启动时,后台开启一个线程的方法

原文链接:http://blog.csdn.net/it_wangxiangpan/article/details/7168286JavaWeb 服务启动时,在后台启动加载一个线程。目前,我所掌握的一共有两种方法,第一种是监听(Listener),第二种是配置随…

linux脚本 逻辑运算,Linux-shell-逻辑运算和;

7.Shell7.5.2命令执行的判断依据: ; , &&, ||1.cmd ; cmd (不考虑指令相关性的连续指令下达)一般用于多条命令之间没有直接需求联系,最多只是有一个执行先后的关系。[rootlocalhost tmp]# sync; shutdown -h now2.与&&或 ||指令下达情况…

我居然从一只猫身上学到了斐波那契数列

猫的数学这么好是有原因的斐波那契数列(Fibonacci sequence)是由数学家列昂纳多斐波那契定义的把它写成数列的形式是这样的:1,1,2,3,5,8,13,21,34,55,89,...比如:人的耳朵比如:台风比如:松果的底部螺纹从两…

听说过Netflix的Chaos Monkey吗?不用羡慕,我们.NET也有

Chaos Monkey,是Netflix工程师创建的一种故障注入系统,它会随机在生产实例中引发各种各样的故障或异常,以确保它们的系统能够在这样的情况下存活,而不会对客户造成任何影响。可见,Chaos Monkey可以提高系统的安全和可用…

PHP中session与cookie的简单使用

2019独角兽企业重金招聘Python工程师标准>>> cookie简单实例&#xff1a; <?php if($_GET[out]){ //注销cookie setcookie(id,); setcookie(password,); echo "<script>location.hrefcookie.php</script>"; …

NetBeans Weekly News 刊号 # 27 - Sep 24, 2008

刊号 # 27 - Sep 24, 2008 日程表 注册 NetBeans Day--圣保罗&#xff0c;巴西&#xff08;十月一日&#xff09; 欢迎来到巴西圣保罗的 Sun Tech Days 。赶快在十月一日加入我们的 NetBeans Deep Dive 吧&#xff01;注册 NetBeans Day 是免费的&#xff0c;即使您不参加 Sun …

做项目开发你必须得掌握的知识:设计模式

先分享一个小故事 两个年轻人是大学同班同学&#xff0c;毕业后被同一家公司录取&#xff0c;可以说是站在相同的起跑线上。两人对未来也都是信心满满&#xff0c;踌躇满志。其中一人怀抱满腔激情&#xff0c;到处学习热门框架&#xff0c;但受限于公司体量和业务逻辑&#xff…

985硕博士:你为什么比我差?

全世界只有3.14 % 的人关注了青少年数学之旅身边总有些人看上去很轻松&#xff0c;不仅在工作中游刃有余&#xff0c;还知识渊博&#xff0c;对各种事情有自己的思考。这次&#xff0c;我们非常认真地筛选了这些公众号&#xff0c;他们专注于内容&#xff0c;关心当下发生的事情…

ESXI转HYPER-V,问题接二连三啊(VMDK转VHD)

首先说软件&#xff1a; 要不是用SCVMM来转的话&#xff0c;我用得最爽的还是WINIMAGE&#xff0c;自然流畅。其它的都有各种问题。 其次说说配置更改&#xff1a; 如果原ESXI里只有一个硬盘&#xff0c;一切好说&#xff0c;如果里面挂载了两个&#xff0c;甚至三个硬盘&#…

ASP.NET2.0_多语言本地化应用程序

1.设置当前文化 页面类有两个影响本地化的重要属性均在< % Page % >指令设置:1).UICulture 此属性用于指定载入到页面的资源文件,资源文件可以包含页面文本内容的特定语言的翻译版本.其属性值可为中立文化也可为特定文化(下面有介绍&#xff09;2).Culture …

不用“背”单词,一个方法从普通二本到哥伦比亚大学:我是如何做到的?

全世界只有3.14 % 的人关注了青少年数学之旅“学英语太难、太费劲了。”我听过无数人这么说。然而&#xff0c;我的学员们&#xff0c;却都只用了短短3—6个月时间&#xff0c;就以惊人速度提高了英语&#xff1a;小磊&#xff1a;勉强踩着2本线上了大学&#xff0c;四级考了3次…

“熊猫烧香”源码启示录

一、 引言 去年秋天回趟老家&#xff0c;适逢家中秋收后“祭宅神”。期间&#xff0c;听亲家二大娘在香毕吟颂的《十柱香》的佛歌&#xff0c;深有感触&#xff1a;百姓烧香祝的是神仙幸福&#xff0c;盼的是亲人平安—这 是作为衣食百姓发自内心的心愿&#xff01;但如今&…

ios之UISplitViewController

iPad的屏幕比iPhone大&#xff0c;所以在界面上&#xff0c;iPad比iPhone多一个UISplitViewController&#xff0c;用来实现iPad在横屏时&#xff0c;分两栏显示所需要的界面&#xff0c;可以一边是目录一边是具体的内容。下面我将详细的阐述UISplitViewController在ipad中的使…

为什么日本的科学那么牛?

▲ 点击查看日本化学家吉野彰&#xff0c;因发明了现代锂离子电池&#xff08;LIB&#xff09;&#xff0c;成为了今年的诺贝尔化学奖得主&#xff0c;一起获得这个奖项的&#xff0c;还有斯坦利惠廷汉姆、古迪纳夫。吉野彰事实上&#xff0c;当我们往回看这些年诺贝尔奖获得…

技术分享|单元测试推广与实战-在全新的DDD架构上进行单元测试

源宝导读&#xff1a;单元测试是伴随软件工程出现和发展的&#xff0c;怎么做大家可能各有见解。本文介绍了单元测试中的反模式&#xff0c;强调了可测试性的重要性&#xff0c;并以 DDD 架构项目的迭代进程作为示例&#xff0c;演示了单元测试的组织过程&#xff0c;展示了单元…

Object-C中的字符串对象1-不可变字符串

2019独角兽企业重金招聘Python工程师标准>>> #import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {autoreleasepool {NSString *str1"this is string A";NSString *str2"this is string B";NSString *temp;NSCom…

硬盘分区与故障排解速查手册(1)

在所有计算机配件中&#xff0c;硬盘是一个比较特殊的角色&#xff0c;它不仅关系到系统的整体性能&#xff0c;而且用户的所有资料都保存在它的身上。 那么&#xff0c;硬盘该如何初始化呢&#xff1f;遇到硬盘故障该如何解决呢&#xff1f;一、大硬盘分区与格式化 硬盘分区是…

Ant Design Blazor 发布 0.9.0,共100+人贡献!

???? 截至这个版本&#xff0c;本项目一共迎来 101 位贡献者&#xff0c;是他们成就了这个项目&#xff01;在此感谢他们慷慨的贡献&#xff01;变更记录Tabs???? 增加路由服用多标签页组件 ReuseTabs。(demo) #1704 ElderJames???? 增加 OnClose 事件与 TabTempla…