我有一个假人application.conf
如下:
configuration {
default-dispatcher {
type = Dispatcher
executor = "thread-pool-executor"
thread-pool-executor {
core-pool-size-min = 4
core-pool-size-factor = 2.0
core-pool-size-max = 8
}
throughput = 10
mailbox-capacity = -1
mailbox-type = ""
}
}
因此,池中总共有4 x 2 = 8个线程,并且最多8 x 2 = 16个线程。
现在,如果我理解正确,调度员负责从邮箱中挑选一个演员和一堆邮件并进行处理。
接下来,我为主管生成一个儿童演员,如下所示:
val greeter: ActorRef = context.actorOf(GreetingsActor.propsWithDispatcher)
我想知道的是......因为只有一个子actor的实例,所以只有一个来自池的线程会被使用。
我的理解是否正确?
答案 0 :(得分:0)
是的,单个actor可以在一个线程上一次处理1条消息。处理消息时,线程将返回到线程池,因此可用于调度其他消息和参与者。