Scala深入浅出进阶经典 第69讲:Scala并发编程react、loop代码实战详解

来源:互联网 发布:2017上海高考分数算法 编辑:程序博客网 时间:2024/05/31 19:08
package com.dt.scalaInAction.demo_069import scala.actors.Actorimport scala.actors.Actor._import java.net.InetAddressimport java.net.UnknownHostException/** * Scala并发编程react、loop代码实战详解 */case class Net(name: String, actor: Actor)object NameResolver extends Actor {    def act = {        //线程的重用    /*react {        case Net(name, actor) =>             actor ! getIp(name)            act        case "EXIT" => println("Name resolver exiting.")        case msg =>            println("Unhandler message : " + msg)            act    }*/            loop {          react {            case Net(name, actor) =>                sender ! getIp(name)            case msg =>                println("Unhandled message : " + msg)          }      }                    }        def getIp(name: String) : Option[InetAddress] = {         try {             println(InetAddress.getByName(name))             Some(InetAddress.getByName(name))         } catch {           case _: UnknownHostException => None         }    }}object Actor_More_Effective {    def main(args: Array[String]): Unit = {        NameResolver.start        NameResolver ! Net("www.baidu.com", self)                println(self.receiveWithin(1000){case x => x})    }}

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


0 0
原创粉丝点击