boundedElastic()与parallel()调度程序之间的区别

时间:2020-04-19 13:00:30

标签: spring reactive-programming scheduler

我是Project React的新手,我试图了解boundedElastic()与parallel()调度程序之间的区别。 Documennt(https://projectreactor.io/docs/core/release/api/)表示boundedElastic()用于阻塞任务,而parallel()用于非阻塞任务。为什么Project Reactor需要解决阻塞场景,因为它们本质上是非阻塞的。有人可以帮我解决关于boundedElastic()与parallel()调度程序的一些实时用例吗 ?

1 个答案:

答案 0 :(得分:0)

并行风味由N个工作人员(根据N cpus)支持,每个工作人员均基于ScheduledExecutorService。如果向其提交N个长期任务,则无法执行更多工作,因此对短期任务的关联性也很强。

该弹性风味还由基于ScheduledExecutorService的工作人员提供支持,除了它会按需创建这些工作人员并将其合并。 BoundedElastic与弹性相同,不同之处在于您可以限制总数。线程数。

https://spring.io/blog/2019/12/13/flight-of-the-flux-3-hopping-threads-and-schedulers