第109讲:Akka中的Actor异步和同步停止方式实战详解学习笔记

109讲:Akka中的Actor异步和同步停止方式实战详解学习笔记

本讲内容:

1.Actor异步停止方式

2.Actor同步停止方式

为什么要停止actor

Actor完成了自己的消息处理任务后,后续不再需要这个actor再继续处理工作,为了节省或回收系统资源,就有必须停止actor

 

Actor在正式处理邮箱中具体的邮件以前会有preStart,preStart中进行资源的初始化,如连接网络或连接数据库或打开文件。在处理完毕邮件后,actor生命周期的最后会有环节,会有postStop,在postStop中可以进行关闭网络关闭数据库或关闭文件的句柄,在akka中要想停止 actor有多种方式:同步、异步,但都需要postStop,在postStop中进行资源回复的操作。

postStop调用时会在内部在akka继承树上产生操作,任务完成后邮箱中的内容不会再被处理,同时会有一个具体消息叫deathWatch的消息发出,通知supervisor说自己停止了。在akka中要停止actor会有多种不同方式:

1.停止actorSystem

/**

 * Stop this actor system.This will stop the guardian actor, which in turn will recurisiverly stop all its child actor, then the system guardian (below which the logging actor reside) and the execute all registered termination handlers (See [[ActorSystem.registerOnTermination]]).

*/

Def shutdown(): Unit

停止一个actor后,其子actor会全部被停止。

 

2.其他方式停止actor:异步操作。

Master ! Poisonpill

Master ! Kill

_system.shutdown

Context.stop(self)  //也可以停止其他actor

 

以上内容是从王家林老师DT大数据课程第109讲的学习笔记。
DT大数据微信公众账号:DT_Spark  

王家林老师QQ:1740415547 

王家林老师微信号:18610086859
DT大数据梦工厂1至110集scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group

 

第109讲视频网站地址:

6

http://v.ku6.com/show/AQArmLzCxeWwjdriXXlBaA...html

51CTO

http://edu.51cto.com/lesson/id-76215.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值