2

Typesafe 白皮书 (v5)指出:

“在不同的场景中,actor 可以替代:线程;Java EE 会话 bean;......”

我不明白actor如何替代会话bean,因为它们的工作方式完全不同:通过向它传递消息来串行调用一个actor,它按照发送的顺序一次处理一个消息。这意味着actor内部任何业务逻辑的运行都是同步的。另一方面,会话 bean 是池化的——它们有很多,并且多个线程可以随时运行相同的业务逻辑,这意味着逻辑是同时运行的。

谁能澄清我对这个声明的误解?

4

2 回答 2

1

过多的 ejb 并发通常会导致各种锁争用和性能下降。

同时 akka 是针对异步处理和 nio 的。当线程数接近 CPU 内核数时,这种方法最有利。

请注意,akka 并不强制执行一个处理线程。参见例如Akka 控制线程池线程

于 2012-09-21T12:53:56.333 回答
1

您可以汇集 Actors(子代)或 Akka 路由器后面(技术上也是子代),这样您就可以调整“并发”。

于 2012-09-22T15:59:45.787 回答