Java Concurrency,Akka和RxJava之间的区别?

2022-09-01 04:40:57

今天我发现,对于Java中的并发性,我们有一个很好的框架,我也发现,有一个反应式编程框架,比如在应用程序中执行。但我仍然感到困惑!为什么两者都比框架好?AkkaRxJavamultithreadingJava Concurrency

如今,反应式编程是一个成熟的话题,大多数语言都支持关于多种语言的类似提供API。 是用于 等的 api 之一。根据,它们在内部使用Actor进行维护,也用于编程。Functional Reactive ProgramingNetflixReactive programmingRxjavajavascalaRxJavamultithreadingAkkaActorsmultithreading

那么,和方法有什么区别,为什么它们是好的?AkkaReactive ProgrammingJava Concurrency


答案 1

根据Mathias Doenitz的说法,RxJava与Akkas Reactive Streams的实现不同,没有背压。但RxJava似乎正在努力增加背压。

这两个框架都能够通过反应式流 spi 进行交互。所以你将能够做非常非常相似的事情。根据Mathias的说法,不同之处在于Akka实现是基于内部的参与者,而不是多线程。因此,性能会更高。

我的信息来源是Mathias上周在荷兰斯卡拉用户组发表的演讲

编辑:我站在RxJava中纠正了wrt背压支持。如果您点击Eriks链接,您可以阅读背压的含义。


答案 2

基于 actor 的 Akka Streams 提供了 Actor 和流之间的互操作,例如:

  • 从 actor 读取并将其传递给流和
  • 从流中读取并将其传递给演员

推荐