package basics
import scala.actors.Actor
/**
* Created by Administrator on 2017/11/16. *模拟两个人收发邮件
*/object HelloActor { def main(args: Array[String]): Unit = { val helloActor = new HelloActor helloActor.start() var counter = 0 //测试1 /* while (true){ helloActor ! "信息本身"+counter counter=counter+1 Thread.sleep(3000) }*/ //测试2 // helloActor ! Hello("test","test1") //测试3 val helloBackActor=new HelloBackActor(helloActor) helloBackActor.start() }}case class Hello(name: String, content: String, sender: Actor)case class HelloBack(name: String, content: String, sender: Actor)class HelloActor extends Actor { var counter=0 def act(): Unit = { while (true) { receive { //偏函数的过程 case content: String => println("Message" + content) case Hello(name, content, sender) => { println("HelloActor: name " + name + ",content:" + content+counter) counter += 1 Thread.sleep(3000) sender ! HelloBack(name,content+counter,this) } } } }}class HelloBackActor(val helloActor: HelloActor) extends Actor { var counter=0 def act(): Unit = { helloActor ! Hello("me","Love this",this) while (true) { receive { //偏函数的过程 case content: String => println("Message" + content) case HelloBack(name, content, sender) => { println("HelloBackActor: name " + name + ",content:" + content+counter) counter += 1 Thread.sleep(3000) sender ! Hello(name,content+counter,this) } } } }}
第17节:scala中Actor并发编程
最新推荐文章于 2018-11-22 10:19:00 发布