如何订阅多个订阅者到 Observable 或 Flowable?

How to subscribe several subscribers to Observable or Flowable?

在 Hello World 示例中有一个订阅者

   public static void main(String[] args) {
      Flowable.just("Hello world").subscribe(System.out::println);
   }

如何制作两个或更多?

您可以为任何 observable/flowable 订阅多个订阅者。只需根据需要多次重复 subscribe 调用即可。

Flowable<String> source = Flowable.just("Hello world");
source.subscribe(System.out::println);
source.subscribe(System.out::println);
...

hotcold observables 在处理此类多重订阅的方式上存在差异。

Cold observables/flowables re-request 每个新订阅者的来源项目。例如,Flowable.fromCallable(c) 将在每次订阅时调用 c

热门 observables/flowables 与所有订阅者共享相同的源订阅,即他们不会为每个新订阅者从源请求新项目。新项目传播给所有当前订阅的订阅者。