Akka学习笔记:ActorSystem(调度)

调度

  正如你在ActorSystem中的API看到的,如下:

//Light-weight scheduler for running asynchronous tasks after some deadline in the future.
def   scheduler : Scheduler

 在 ActorSystem 中有大量的方法调用scheduler,而scheduler返回的是Scheduler。Scheduler中有大量的schedule方法,利用他们我们可以在Actor环境下做大量的有趣的事情。

A、SCHEDULE SOMETHING TO EXECUTE ONCE


  在我们的Student-Teacher例子里面,假如在我们的测试用例程序中StudentActor想在接收到InitSignal消息后的5秒中之后才发送消息给Teacher。我们的代码看起来像这样的:

class StudentDelayedActor (teacherActorRef:ActorRef) extends Actor with ActorLogging {

  def receive = {
    case InitSignal=> {
      import context.dispatcher
      context.system.scheduler.scheduleOnce(5 seconds, teacherActorRef, QuoteRequest)
      //teacherActorRef!QuoteRequest
    }
    ...
    ...
  }
}


你可能感兴趣的:(akka)