Rx java “这是什么意思?”;RxJava中的流本质上是连续的……”;

Rx java “这是什么意思?”;RxJava中的流本质上是连续的……”;,rx-java,rx-java2,Rx Java,Rx Java2,我正在阅读RxJava的文档,遇到了这个我不太理解的问题 RxJava中的流本质上是顺序的,分为多个处理阶段 可以同时运行的: Flowable.range(1, 10) .observeOn(Schedulers.computation()) .map(v -> v * v) .blockingSubscribe(System.out::println); 对于我来说,这段代码似乎不会并发运行。在计算(辅助)线程上将数字从1平方到10,并在“主”线程上使用结果。lambda

我正在阅读RxJava的文档,遇到了这个我不太理解的问题

RxJava中的流本质上是顺序的,分为多个处理阶段 可以同时运行的:

Flowable.range(1, 10)
  .observeOn(Schedulers.computation())
  .map(v -> v * v)
  .blockingSubscribe(System.out::println);

对于我来说,这段代码似乎不会并发运行。

在计算(辅助)线程上将数字从1平方到10,并在“主”线程上使用结果。lambda
v->v*v
不是并行运行的,而v+1*v+1(范围1-10)正在计算线程
System.out::println
上运行主线程上早期的v*v。

您一直在读吗?下一段解释如何并行化。
System.out::println
与计算
v*v
同时在主线程上运行。“这个的另一个名字是管道。”jonrsharpe我一直在读,但我的问题归结到我的最后一句话。引用的部分似乎不会同时运行(至少对我来说)。。。但它表示“可能会同时运行:@akarnokd你是说这有可能会打印出不正常的内容吗?不,它是按顺序打印的。并发性指的是并发的计算阶段:实际上,应用的每个操作符都可以被视为一个阶段。例如,当5*5在计算线程上执行时,主线程从早期的计算中打印出4。它在主线程上是如何消耗的?它不是也在计算线程上吗?