Akka 是同步的还是异步的?

JJ梁

我相信反应式系统应该是异步的,但我多次无意中听到 Akka 有同步 actor?

那么这是否意味着 Akka 是同步的?或者参与者以同步方式工作但系统由于多个参与者而异步?

阿列克谢·凯戈罗多夫

Scala 有同步actor。Akka actor 从一开始就是异步的。反应式程序可以以任何一种方式实现,同步和异步。响应式程序唯一有意义的要求是支持背压。在同步编程中,通过阻塞参与线程以自然的方式提供背压。当线程阻塞被禁止时,异步提供背压是很棘手的。为此,设计了反应流协议Akka actor 不支持此协议,因此不能被视为反应式,但Akka Streams 支持

Reactive-streams 协议也可以很容易地与线程、信号量和阻塞队列同步实现,也就是说,反应程序不被认为是异步的。通常,同步编程更容易,与异步编程相比,它唯一的缺点是线程堆栈的内存消耗。

总之,反应与否,异步与否,都是独立的特征,它们可以以各种组合出现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章