Scala深入浅出进阶经典 第68讲:Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析

来源:互联网 发布:2017上海高考分数算法 编辑:程序博客网 时间:2024/05/15 04:35
package com.dt.scalaInAction.demo_068import scala.actors.Actorimport scala.actors.Actor._/** * Scala并发编程原生线程Actor、Cass Class下的消息传递和偏函数实战解析及其在Spark中的应用源码解析 *///这里定义一个caseclass作为一个消息体case class Person(val name: String, val age: Int)class HelloActor extends Actor {    def act = {        while(true) {            receive {                //用case Class进行模式匹配消息                case Person(name, age) => {                    println("Name:"+name+",Age:"+age)                    //向主线程(发送者)发消息                    sender ! "Echo!!!"                }                case _ => println("Something else....")            }        }    }}object Actor_With_CaseClass {    def main(args: Array[String]): Unit = {        val hiActor = new HelloActor        hiActor.start        hiActor ! Person("Spark", 6)                //让主线程接受消息(把主线程作为Actor使用) 默认是柱塞的        self.receive{case msg => println("self.receive mseeage:"+msg)}        //receiveWithin偏函数 参数设置是超时时间        //self.receiveWithin(1){case msg => println("self.receive mseeage:"+msg)}    }}


以上内容是从王家林老师DT大数据课程第68讲的学习笔记和个人整理。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
第68讲视频网站地址:http://pan.baidu.com/s/1jGKSKAi

0 0