akka在哪里处理邮件?

时间:2016-05-12 21:42:11

标签: akka

我在akka文档中读到dispatchers。但是我没有正确理解,例如,如果我有2个与default-disptacher一起运行的演员。我在演员发送了几条消息,好吧,然后default-dispatcher从邮箱收到消息,然后???消息在default-dispatcher或哪里处理?如果我在actor中运行(使用context.disptacher cource)一些块操作,并在线程池中配置带有1个线程的调度程序,这将停止消息处理吗?

由于

1 个答案:

答案 0 :(得分:1)

我会尽力解释它。

dispatchers只安排code in the actor system

按照您的示例,如果您的actor向actor发送消息(正如您对其邮箱所说的那样),则在将来的某个时间点,调度程序将为actor分配一个线程以获取该消息并运行它。 代码总是在您定义的actor中运行,但是在调度程序提供的线程中运行。

如果您使用fixed-pool-size = 1定义自己的调度程序并阻止该线程,调度程序将在keep-alive-time中定义的时间后恢复该线程。