Multithreading @Spring中的异步与反应器线程池
带注释的方法和设置为使用相同大小的线程池之间的区别是什么。这种方法有什么好处吗?它会是什么?对于我的使用,我不想用异步方法返回任何值 最明显的区别是Reactor不横切Multithreading @Spring中的异步与反应器线程池,multithreading,spring,spring-annotations,reactor,Multithreading,Spring,Spring Annotations,Reactor,带注释的方法和设置为使用相同大小的线程池之间的区别是什么。这种方法有什么好处吗?它会是什么?对于我的使用,我不想用异步方法返回任何值 最明显的区别是Reactor不横切@Async带注释的方法,而是隐式地将事件提交给Reactor。如果您在bean上使用Reactor@Selector注释,那么您将得到与@Async相反的结果:事件处理程序,而不是事件发布程序 话虽如此,Reactor中仍然支持通过。它使用一个接口而不是注释,但概念类似 关于使用其中一个的“优势”:这实际上取决于您在应用程序中做
@Async
带注释的方法,而是隐式地将事件提交给Reactor
。如果您在bean上使用Reactor@Selector
注释,那么您将得到与@Async
相反的结果:事件处理程序,而不是事件发布程序
话虽如此,Reactor中仍然支持通过。它使用一个接口而不是注释,但概念类似
关于使用其中一个的“优势”:这实际上取决于您在应用程序中做的其他事情,以及您是否在更一般的意义上使用Reactor。Reactor并不是设计用来替换线程池的。Reactor中的ThreadPoolExecutorDispatcher
只在下面使用一个普通的ThreadPoolExecutor
。在该场景中使用Reactor的优势来自Reactor中使用的优化事件发布,而不是始终创建新的可调用项
和可运行项
,以及使用Reactor的流
和承诺
API来处理异步执行
从API的角度来看,与普通的
TaskExecutor
相比,在后台作业中使用Reactor具有明显且可测量的优势 最明显的区别是Reactor不横切@Async
带注释的方法,而是隐式地将事件提交给Reactor
。如果您在bean上使用Reactor@Selector
注释,那么您将得到与@Async
相反的结果:事件处理程序,而不是事件发布程序
话虽如此,Reactor中仍然支持通过。它使用一个接口而不是注释,但概念类似
关于使用其中一个的“优势”:这实际上取决于您在应用程序中做的其他事情,以及您是否在更一般的意义上使用Reactor。Reactor并不是设计用来替换线程池的。Reactor中的ThreadPoolExecutorDispatcher
只在下面使用一个普通的ThreadPoolExecutor
。在该场景中使用Reactor的优势来自Reactor中使用的优化事件发布,而不是始终创建新的可调用项
和可运行项
,以及使用Reactor的流
和承诺
API来处理异步执行
从API的角度来看,与普通的TaskExecutor
相比,在后台作业中使用Reactor具有明显且可测量的优势