ここで、アクターが他のアクターにメッセージを送信し、同時に他のアクターからメッセージを受信できるようにしたいと考えています。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 _=> .....
}
私の問題は次のとおりです。
1) 自分のコードが期待どおりに機能するかどうかわかりません。アクター内で Akka スケジューラーを使用する参照
2) 私はすでに輸入しています
import scala.math._
import akka.actor._
import scala.util.Random
import scala.concurrent.duration._
ただし、コンパイラは引き続きエラーを報告します。
error: Cannot find an implicit ExecutionContext, either require one yourself or import ExecutionContext.Implicits.global
context.system.scheduler.scheduleOnce(duration, self, WakeUp)