我试图测试ExecutionContext在游戏应用程序的行为,发现我不能够实现并行的任何程度时,我使用的是默认调度程序通过调用as.dispatcher,as.dispatchers.lookup("akka.actor.default-dispatcher")或通过将默认执行上下文作为参数传递给我的控制器类:
class HomeController @Inject()(cc: ControllerComponents)(implicit ec: ExecutionContext)
Run Code Online (Sandbox Code Playgroud)
我以此处提供的播放示例为基础。并添加/更改以下配置:
路线
GET /futures controllers.HomeController.testFutures(dispatcherId: String)
Run Code Online (Sandbox Code Playgroud)
common.conf
akka {
my-dispatcher {
executor = "fork-join-executor"
fork-join-executor {
# vm-cores = 4
parallelism-min = 4
parallelism-factor = 2.0
# 2x vm-cores
parallelism-max = 8
}
}
actor.default-dispatcher {
executor = "fork-join-executor"
fork-join-executor {
# vm-cores = 4
parallelism-min = 4
parallelism-factor = 2.0
# 2x vm-cores
parallelism-max = 8
}
}
}
Run Code Online (Sandbox Code Playgroud)
家庭控制器
@Singleton
class HomeController @Inject()(cc: …Run Code Online (Sandbox Code Playgroud)