package com.uplooking.bigdata.p4.actor.third
import scala.actors.Actor
/**
* Actor模型之间的通信
*/
object ActorCommunicationOps extends App {
val jackActor = new JackActor
val johnActor = new JohnActor(jackActor)
johnActor.start()
jackActor.start()
}
case class Message(content:String, sender: Actor)
/**
* JohnActor一启动的时候就向JackActor发送一条信息
* JackActor接收到JohnActor发送过来的消息之后,进行反馈--->向JohnActor发送一条消息
*/
class JackActor extends Actor {
override def act(): Unit = {
receive {
case Message(content, sender) => {
println(sender + "发送的内容: " + content)
sender ! "不好意思啊,兄弟,哥今晚要陪媳妇儿,没空,改日再约"
}
}
}
}
class JohnActor(val jackActor: JackActor) extends Actor {
override def act(): Unit = {
//向JackActor发送一条消息 jackActor对象 !
jackActor ! Message("你好啊,jack,晚上三缺一走起", this)
receive {
case response:String => println("jackActor反馈的内容:" + response)
}
}
}
import scala.actors.Actor
/**
* Actor模型之间的通信
*/
object ActorCommunicationOps extends App {
val jackActor = new JackActor
val johnActor = new JohnActor(jackActor)
johnActor.start()
jackActor.start()
}
case class Message(content:String, sender: Actor)
/**
* JohnActor一启动的时候就向JackActor发送一条信息
* JackActor接收到JohnActor发送过来的消息之后,进行反馈--->向JohnActor发送一条消息
*/
class JackActor extends Actor {
override def act(): Unit = {
receive {
case Message(content, sender) => {
println(sender + "发送的内容: " + content)
sender ! "不好意思啊,兄弟,哥今晚要陪媳妇儿,没空,改日再约"
}
}
}
}
class JohnActor(val jackActor: JackActor) extends Actor {
override def act(): Unit = {
//向JackActor发送一条消息 jackActor对象 !
jackActor ! Message("你好啊,jack,晚上三缺一走起", this)
receive {
case response:String => println("jackActor反馈的内容:" + response)
}
}
}