我很难理解Akka中的Actors以及线程与Actor的关系。
让我们举一个冰箱演员和一个Person Actor的例子,将GetFoodMessage发送给冰箱演员参考。 假设不变性得到尊重。
在开发Akka系统时,这些问题都出现在我身上#34;为了好玩",我看到其他Stack Overflow线程讨论线程如何与Actors相关但我相信这些问题是不同的
答案 0 :(得分:3)
这些消息会在不同的线程中“同时”处理,还是会在队列中逐个处理这些消息? - 队列中的逐个消息
线程产生是否完全由库管理并从Actor的概念中抽象出来? - 是的
Actor是引用Actor的实例吗? - 不。 Actor可以在另一个JVM实例中。
当我停止演员(和他的孩子们)时,我会杀死线程吗? (如果冰箱没有更多的食物并通知演员没有更多的食物) - 没有
Actor系统是所有这些线程的父进程吗? - 没有
冰箱演员是个人演员的孩子吗? - 它可以是,也可以不是,程序员决定
通常,Akka Actor是一个能够在线程池的单个线程上运行的任务。当有要处理的消息时,它将被提交给执行,并在没有更多消息时离开该线程。