“在不同的场景中,actor可以替代:线程; Java EE会话bean; ......”
我不明白演员如何替代会话bean,因为它们的工作方式完全不同:通过向其传递消息来串行调用actor,并按照它们的顺序逐个处理消息发送。这意味着在actor中运行任何业务逻辑都是同步的。另一方面,会话bean是汇集的 - 有许多会话bean,多个线程可以随时运行相同的业务逻辑,这意味着逻辑同时运行。
任何人都可以澄清我对这个陈述的误解吗?
答案 0 :(得分:1)
太多的ejb并发通常会导致各种锁争用和性能下降。
与此同时,akka的目标是异步处理和nio。当线程数接近CPU核心数时,这种方法最有利。
请注意,akka不会强制执行一个处理线程。参见例如Akka control threadpool threads
答案 1 :(得分:1)
您可以将Actors(子)或Akka路由器(也可以是技术上的子项)放在后面,这样您就可以调整“并发”。