阿卡演员的简单解释

Joh*_*ith 2 scala actor akka

以下陈述是否正确,否则如何改进?

当向Akka演员发送消息时,将作业提交给执行者.当有一个空闲线程时,它调用获取actor的锁定的作业(假设它可以,否则采取另一个作业).receive然后调用actor 的 方法,一旦完成,就丢弃该作业并将该线程返回到池中.然后重复该循环.所有与并发线程相关的复杂内容都由Akka处理,使程序员可以专注于解决业务问题.

Tom*_*icz 8

更准确的是:

当消息发送给actor时,它将被放置在此actor的名为mailbox的队列中.同时,可能有数百或数千个演员在其邮箱中有待处理的消息.Akka使用有限数量的工作线程,选择此类actor的子集,receive并按时间顺序使用来自邮箱的每条消息调用其方法.

多个线程永远不会处理同一个actor.此外,Akka可能决定中断来自邮箱的消息处理,并选择不同的演员以保持公平并避免饥饿.因为每次receive调用都需要一个线程,所以此方法永远不应该阻塞,等待或休眠.