Spring WebFlux 创建无阻塞线程池
Spring WebFlux create pool of no-blocking threads
我决定在 Java 上重写我的网络应用程序(之前是在 Python 上)。
在我的应用程序中,我使用了无阻塞 I/O,我有工作池(Celery + Eventlet 线程),我在其中传递由数百个 API 调用组成的任务。
现在我正在使用 Spring WebFlux 但我不明白如何创建工作池以将我的任务传递到该池,然后在获取结果并做一些计算。
(我知道创建 ThreadPoolTaskExecutor 的可能性,但线程正在阻塞线程)
如果您使用的是非阻塞 API,则无需在特定线程上安排任务 - Reactor 会为您完成。使用 Spring WebFlux,用于处理工作的线程由 Reactor 管理或重用 Netty 线程。
查看 Schedulers and threading parts of the reactor reference documentation。
我决定在 Java 上重写我的网络应用程序(之前是在 Python 上)。 在我的应用程序中,我使用了无阻塞 I/O,我有工作池(Celery + Eventlet 线程),我在其中传递由数百个 API 调用组成的任务。
现在我正在使用 Spring WebFlux 但我不明白如何创建工作池以将我的任务传递到该池,然后在获取结果并做一些计算。
(我知道创建 ThreadPoolTaskExecutor 的可能性,但线程正在阻塞线程)
如果您使用的是非阻塞 API,则无需在特定线程上安排任务 - Reactor 会为您完成。使用 Spring WebFlux,用于处理工作的线程由 Reactor 管理或重用 Netty 线程。
查看 Schedulers and threading parts of the reactor reference documentation。