doc: 阅读reactor schedulers文档
This commit is contained in:
@@ -626,7 +626,23 @@ reactor提供了两种方法来切换执行的上下文:
|
||||
`subscribeOn`影响订阅的过程,通常推荐将其放在source之后。
|
||||
|
||||
##### `subscribeOn`原理
|
||||
在`FluxSubscribeOn#subscribeOrReturn`中,会通过`scheduler#createWorker`创建worker
|
||||
在`FluxSubscribeOn#subscribeOrReturn`中,会通过`scheduler#createWorker`创建worker,并通过worker来对`执行source.subscribe`的方法进行调度。
|
||||
|
||||
故而,在consumer执行subscribe时,随着reactor chain从尾到头,下游subscriber都会调用上游publisher的subscribe方法。在`FluxSubscribeOn`调用上游的subscribe时,则是会通过worker在进行调度,实际调用在worker中执行。
|
||||
|
||||
subscribeOn方法使用方式如下:
|
||||
```java
|
||||
Scheduler s = Schedulers.newParallel("parallel-scheduler", 4);
|
||||
|
||||
final Flux<String> flux = Flux
|
||||
.range(1, 2)
|
||||
.map(i -> 10 + i)
|
||||
.subscribeOn(s)
|
||||
.map(i -> "value " + i);
|
||||
|
||||
new Thread(() -> flux.subscribe(System.out::println));
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user