当前位置: 首页 > 知识库问答 >
问题:

如何切换到Spring Webflux/Reactor中的默认线程池?

莘光华
2023-03-14

Reactor提供了将执行上下文转移到不同调度程序的可能性,如下所示:

Mono.just("test")
        .doOnNext(x -> System.out.println(currentThread().getName() + " " + x))
        .publishOn(MY_SCHEDULER)
        .doOnNext(x -> System.out.println(currentThread().getName() + " " + x))
        .subscribe();
-----------------------
main test
my-scheduler-1 test

如何切换回Spring Webflux应用程序中默认使用的主线程池/调度程序(通常它的名称中以“main”出现)?

共有1个答案

孟建木
2023-03-14

简短的回答是:你不知道。

如果您要在专用的调度程序上运行一些东西(例如运行一些阻塞任务),您可能应该选择返回到并行或boundedElastic,这取决于您接下来的步骤是否受cpu限制。

 类似资料:
  • 线程的切换 回答一下前一节的思考题:当发生中断时,在 __restore 时,a0 寄存器的值是 handle_interrupt 函数的返回值。也就是说,如果我们令 handle_interrupt 函数返回另一个线程的 *mut Context,就可以在时钟中断后跳转到这个线程来执行。 修改中断处理 在线程切换时(即时钟中断时),handle_interrupt 函数需要将上一个线程的 Con

  • 我已经在jBPM 7.53 Final中安装了MariaDB连接器。jar文件和本地配置的MariaDB数据库。在管理控制台中检查,发现数据源和JDBC连接器看起来不错(启用了MariaDBDS),但在运行时显示了一个错误“启动服务器时发生了引导错误”。 故障描述:{“WFLYCTL0412:未安装的必需服务:”= 缺少依赖项:jboss.driver-demander.java:jboss/Ma

  • https://projectreactor.io/docs/core/release/api/reactor/core/publisher/doc-files/marbles/flatMapForFlux.svg 这个问题是关于项目反应器中Flux发布者中的平面图函数。根据我们对平面地图的理解,我们必须返回一个发布者,平面地图将在内部订阅该发布者。我们想知道的是线程如何处理这种情况。是要多线程还

  • 早期除了reactor线程外,还设置了writer写成,用于监听worker进程的PIPE,写回TCP客户端。 1.6.12后将这2个角色做了合并,直接在reactor进程内监听PIPE,写回TCP客户端。 合并后的好处是,recv/send/close都是在同一个线程内完成的,不存在之前复杂的时序问题。一切变得更加简单了。另外outbuffer和sendfile也可以更轻松实现。 swoole_

  • 在Spring Boot应用程序中或一般情况下,tomcat是否配置了默认线程池? 如果配置了线程池,当容器从池中挑选线程时,特定的线程将服务于许多请求?

  • 以下是ehcache的配置, 假设我们使用的是ehcache版本3.7 问题是:如何切换到TickingTimeSource,如ehcache留档中所述 到目前为止完成的家庭作业:- 尝试在ehcache xsd文件中搜索TickingTimeSource的配置标记--