小编mme*_*tic的帖子

Play框架期货未由默认调度程序并行化

我试图测试ExecutionContext在游戏应用程序的行为,发现我不能够实现并行的任何程度时,我使用的是默认调度程序通过调用as.dispatcheras.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)

multithreading scala akka playframework executioncontext

5
推荐指数
1
解决办法
116
查看次数