有时需要设定将来发生的事情,这时该怎么办? ActorSystem 搞定一切! 在那儿你能找到 scheduler 方法,它返回一个 akka.actor.Scheduler 实例, 这个实例在每个Actor系统里是唯一的,用来指定一段时间后发生的行为。请注意定时任务是使用 ActorSystem 的 MessageDispatcher 执行的.
你可以计划向actor发送消息或执行任务的代码 (函数或Runnable). 你会得到一个 Cancellable 类型的返回值,你可以调用 cancel 来取消定时任务的执行。
import akka.actor._
import akka.actor.{Props,DeadLetter}
import akka.event.Logging
import akka.actor.ActorSystem
import akka.util.Timeout
import akka.pattern.ask
import scala.concurrent.duration._
import akka.actor.ReceiveTimeout
import akka.pattern.gracefulStop
import scala.concurrent.{Await,Future}
import akka.event.LogSource
import akka.actor.ActorSystem
class MyActor extends Actor{
def receive = {
case para:String => println(para)
case _ => ()
}
}
object DemoTest8{
val system = ActorSystem("msSystem")
val act1 = system.actorOf(Props[MyActor],"first")
implicit v