Differenz zwischen CompletableFuture, Future und RxJava's Observable
Ich möchte den Unterschied zwischen @ wissCompletableFuture
,Future
undObservable
RxJava
.
Was ich weiß ist, dass alle asynchron sind, aber
Future.get()
blockiert den Thread
CompletableFuture
gibt die Rückrufmethoden an
RxJava Observable
--- ähnlich zuCompletableFuture
mit anderen Vorteilen (nicht sicher)
Zum Beispiel: Wenn der Client mehrere Serviceabrufe ausführen muss und wir @ verwendFutures
(Java)Future.get()
wird sequentiell ausgeführt ... würde gerne wissen, wie es in RxJava besser ist ..
Und die Dokumentationhttp: //reactivex.io/intro.htm sagt
Es ist schwierig, Futures zu verwenden, um bedingte asynchrone Ausführungsabläufe optimal zusammenzustellen (oder unmöglich, da die Latenzen jeder Anforderung zur Laufzeit variieren). Dies ist natürlich möglich, wird jedoch schnell kompliziert (und damit fehleranfällig) oder blockiert Future.get () vorzeitig, wodurch der Vorteil einer asynchronen Ausführung entfällt.
Wirklich interessiert zu wissen, wieRxJava
löst dieses Problem. Ich fand es schwierig, aus der Dokumentation zu verstehen.