Akka的BalancingPool调度程序(BalancingDispatcher)每个actor都有一个线程吗?

时间:2015-06-03 04:38:31

标签: multithreading routing akka

现在不推荐使用BalancingDispatcher来直接分配actor,但BalancingPool for routers使用BalancingDispatcher。

由于我们没有直接配置BalancingDispatcher,我想知道BalancingDispatcher是否配置了与工作线程数相等的线程?

如果我们在代码而不是config中生成BalancingPool,这仍然以相同的方式工作吗?

提前感谢您提供任何帮助/信息!可能更适合在Akka邮件组询问的问题。或者我应该阅读消息来源。

1 个答案:

答案 0 :(得分:1)

BalancingPool 确实为您设置了路由的平衡调度程序。可以通过提供 pool-dispatcher 设置。默认情况下,它使用fork join executor,因此您可以为其提供以下设置:




  pool-dispatcher {
 fork-join-executor {#强制它分配5个线程
 parallelism-min = 5
 parallelism-max = 5
 }

 #executor =“thread-pool-executor”//甚至可以在这里改变执行者
 #thread-pool-executor {
 #core-pool-size-min = 1
 #core-pool-size-factor = 2.0
 #core-pool-size-max = 5
 #}
}
  




如果您希望它使用5个主题。您可以参考调度程序文档以了解如何配置调度程序和执行者是什么。





PS:一般来说,Akka问题通常最好在 akka-user邮件列表,团队监控并帮助所有线程,但是还有一个活跃的SO社区,所以”它取决于“: - )

& #xA;