第111讲:Akka中的Actor中用become和unbecome动态切换receive的具体处理逻辑实战学习笔记
来源:互联网 发布:微信专用淘宝二维码 编辑:程序博客网 时间:2024/05/16 07:25
第111讲:Akka中的Actor中用become和unbecome动态切换receive的具体处理逻辑实战学习笔记
本期内容:
1.动态切换actor处理逻辑分析
2.Become和unbecome代码实战
可以改变actor具体处理业务逻辑的代码,而且是动态改变。
可以借助akka提供的become和unbecome机制动态地切换当前actor的处理逻辑。
代码:
Case class Spark
Case class Flink
Class SparkFlinkActor extends Actor {
import context._
var cont = 0
def receive: Receive = {
case Spark =>
println(“Here is Spark!!!”)
count = count + 1
Thread.sleep(100)
self ! Flink //receive在收到Flink消息后就会直接进入become内
become { //把处理代码切换成become内的逻辑
//become之前的代码在become出现后就不再存在了
case Flink =>
println(“Here is Flink!!!”)
count = count +1
Thread.sleep(100)
self ! Spark
unbecome() //把代码处理逻辑切换一次,把become代码从堆栈中弹出。
}
if(count > 10) countext.stop(self)
}
}
object MyActorSystem {
def main(args: Array[String]): Unit = {
val _system = ActorSystem(“BecomeUnbecome”)
val sparkFlinkActor = _system.actorOf(Props[SparkFlinkActor])
sparkFlinkActor ! Spark
Thread.sleep(2000)
_system.shutdown
}
}
以上内容是从王家林老师DT大数据课程第111讲的学习笔记。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
DT大数据梦工厂1至111集scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group
第111讲视频网站地址:
51CTO
http://edu.51cto.com/lesson/id-76286.html
- 第111讲:Akka中的Actor中用become和unbecome动态切换receive的具体处理逻辑实战学习笔记
- Akka在运行时对消息进行实时切换处理的特性: become和unbecome
- 第109讲:Akka中的Actor异步和同步停止方式实战详解学习笔记
- 第108讲:Akka中的Actor消息的处理、消息回复、消息转发学习笔记
- 第103讲:通过案例解析Akka中的Actor的定义和创建学习笔记
- 第102讲:通过案例解析Akka中的Actor运行机制以及Actor的生命周期学习笔记
- 第104讲:通过案例解析Akka中的Actor的不同类型的Constructor学习笔记
- 第110讲:Akka中的Actor的Monitoring初步解析学习笔记
- akka入门-热插拔(become和unbecome)
- 第105讲:解析Akka中的子Actor及其代码学习笔记
- Akka(6): become/unbecome:运算行为切换
- Akka 编程(14): Become/Unbecome
- Akka学习笔记:Actor消息处理-请求和响应(1)
- Akka学习笔记:Actor消息处理-请求和响应(2)
- 第90讲:基于Scala的Actor之上的分布式并发消息驱动框架Akka初体验学习笔记
- 第107讲:Akka中的Future使用代码实战详解学习笔记
- 第92讲:Akka第一个案例动手实战开发环境的搭建,第93讲:Akka第一个案例动手实战开发消息实体类学习笔记
- Akka学习笔记05--Actor的创建
- 五种开源协议(GPL,LGPL,BSD,MIT,Apache)
- android dialog left_icon
- DirectX11 顶点着色器阶段
- 在linux操作系统下使用github的基本流程
- nerdtree-git-plugin插件
- 第111讲:Akka中的Actor中用become和unbecome动态切换receive的具体处理逻辑实战学习笔记
- 如何判断输入为零时结束?
- 随机森林笔记
- .Net泛型类的学习总结(1)
- java学习笔记--多线程
- 每天一道算法题(37)——360校招机试之寻找同乡
- 获取手机中的视频
- 【UIKit-110-9】#import <UIKit/UITableView.h>数据源
- zigbee学习之定时器