Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 为什么3号反应堆需要单核反应堆?_Spring_Reactive Programming_Project Reactor_Spring Webflux_Reactive Streams - Fatal编程技术网

Spring 为什么3号反应堆需要单核反应堆?

Spring 为什么3号反应堆需要单核反应堆?,spring,reactive-programming,project-reactor,spring-webflux,reactive-streams,Spring,Reactive Programming,Project Reactor,Spring Webflux,Reactive Streams,反应器3有两种主要数据类型,它们都是反应流发布器 reactor.core.publisher.Mono reactor.core.publisher.Flux 我理解Mono是由0或1个元素组成的流与Flux是由0或N个元素组成的流之间的区别 既然Mono和Flush都在实现org.reactivestreams.Publisher,为什么我们需要这两种类型?为什么不把Flux用于所有事情呢?想想在非反应性世界中会发生什么:我们可以决定让所有函数返回List,即使我们知道它们只返回一个元素

反应器3有两种主要数据类型,它们都是反应流发布器

  • reactor.core.publisher.Mono
  • reactor.core.publisher.Flux
我理解Mono是由0或1个元素组成的流与Flux是由0或N个元素组成的流之间的区别


既然Mono和Flush都在实现org.reactivestreams.Publisher,为什么我们需要这两种类型?为什么不把Flux用于所有事情呢?

想想在非反应性世界中会发生什么:我们可以决定让所有函数返回
List
,即使我们知道它们只返回一个元素。例如:

public List<T> findAll()     <-- looks ok

public List<T> findFirst()   <-- seems strange?

public T findFirst()         <-- better now?

当然,我们可以像使用列表一样使用
通量
,但更方便的是能够区分有多个项目还是只有一个项目。

想想在非反应性世界中会发生什么:我们可以决定让所有函数返回
列表
,即使我们知道它们只返回一个元素。例如:

public List<T> findAll()     <-- looks ok

public List<T> findFirst()   <-- seems strange?

public T findFirst()         <-- better now?

当然,我们可以使用
Flux
,就像我们可以使用
List
一样,但是,当有多个项目或只有一个项目时,能够进行区分更为方便。

对于开发人员来说,知道期望从发布者那里得到什么行为只是语义上的问题。对于开发人员来说,知道期望从发布者那里得到什么行为只是语义上的问题。对于