【发布时间】:2017-10-09 07:18:13
【问题描述】:
考虑以下Flux
Flux.range(1, 5)
.parallel(10)
.runOn(Schedulers.parallel())
.map(i -> "https://www.google.com")
.flatMap(uri -> Mono.fromCallable(new HttpGetTask(httpClient, uri)))
HttpGetTask 是一个 Callable,在这种情况下,它的实际实现无关紧要,它对给定的 URI 进行 HTTP GET 调用,如果成功则返回内容。
现在,我想通过引入人为延迟来减慢发射速度,以便同时启动多达 10 个线程,但每个线程都不会在 HttpGetTask 时立即完成已经完成了。例如,说没有线程必须在 3 秒之前完成。我该如何实现?
【问题讨论】:
标签: java reactive-programming project-reactor