cit*_*ity 2 multithreading scala akka
现在我想要一个演员向其他演员发送消息,同时接收来自其他人的消息.看来我需要在Akka中使用多线程.以下是我的代码:
def receive = {
case Rumor => {
count+=1;
if ...
else self ! Sleep(FiniteDuration(20, "millis"))
}
case Sleep(duration) => {
case object WakeUp
context.system.scheduler.scheduleOnce(duration, self, WakeUp)
context.become(
{
case WakeUp => context.unbecome()
others ! Rumor
}, discardOld = false
)
}
case _=> .....
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
1)我不确定我的代码是否会像我期望的那样工作.参考使用演员内部的Akka调度程序
2)我已经导入了
import scala.math._
import akka.actor._
import scala.util.Random
import scala.concurrent.duration._
Run Code Online (Sandbox Code Playgroud)
但编译器仍然报告错误:
error: Cannot find an implicit ExecutionContext, either require one yourself or import ExecutionContext.Implicits.global
context.system.scheduler.scheduleOnce(duration, self, WakeUp)
Run Code Online (Sandbox Code Playgroud)