package com.zzk1
import scala.actors.Actor
//Atl+Enter导包
//Ctrl+i 实现抽象方法
class ActorDemo extends Actor{
//接受消息的方法
override def act(): Unit = {
//处理方式,匹配模式。匹配消息,消息匹配成功,执行该分支的代码
receive{
case "start" =>{print("收到一个start消息")}
case "stop" =>{print("收到一个stop消息")}
}
}
}
object Test{
def main(args: Array[String]): Unit = {
//创建Actor对象
var actor=new ActorDemo();
//启动
actor.start()
//给自己发送消息
actor ! "stop"
}
}
1.4.并发编程Demo执行顺序
第一步:创建Actor实例
第二步:使用start启动Actor模型
第三步:发送消息
1.5. Actor接口消息传递的三种方式 (! !! !?)
! 发送异步消息
!!发送异步消息,有返回值
package com.zzk1
import scala.actors.{Actor, Future}
//Atl+Enter导包
//Ctrl+i 实现抽象方法
class ActorDemo extends Actor{
//接受消息的方法
override def act(): Unit = {
//处理方式,匹配模式。匹配消息,消息匹配成功,执行该分支的代码
receive{
case "start" =>{
println("收到一个start消息")
//返回一个消息
sender ! "rec"
}
case "stop" =>{print("收到一个stop消息")}
}
}
}
object Test{
def main(args: Array[String]): Unit = {
//创建Actor对象
var actor=new ActorDemo();
//启动
actor.start()
//给自己发送消息
val future: Future[Any] = actor !! "start"
val st: Any = future.apply()
println("---->"+st)
}
}
!? 发送同步消息
//给自己发送同步消息
actor !? "stop"