Akka是同步还是异步?

问题描述 投票:0回答:1

我相信反应系统应该是异步的,但是我多次听到Akka有同步参与者?

所以这意味着Akka是同步的吗?或参与者以同步方式工作,但是由于多个参与者,系统是异步的?

akka reactive-programming actor
1个回答
0
投票

Scala拥有同步演员。 Akka演员从一开始就是异步的。反应性程序可以同步或异步两种方式实现。对响应程序唯一有意义的要求是支持背压。在同步编程中,通过阻塞参与线程以自然方式提供背压。当禁止线程阻塞时,异步提供背压非常棘手。为此,设计了reactive-streams protocol。 Akka参与者不支持此协议,因此不能认为是被动的,但是Akka Streams可以。

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

总而言之,无论是否为反应性,以及是否为异步,都是独立的特征,它们可以以所有组合出现。

© www.soinside.com 2019 - 2024. All rights reserved.