【问题标题】:When Undertow server feeds org.xnio.XnioWorker#taskPool?Undertow 服务器何时提供 org.xnio.XnioWorker#taskPool?
【发布时间】:2018-12-19 14:34:53
【问题描述】:

我想了解org.xnio.nio.WorkerThread 的工作原理。正如我所看到的,它由org.xnio.nio.NioXnioWorker 扩展并覆盖java.util.concurrent.Executor#execute,将Runnable“放置”到taskPool。但是在调试 spring web Flux 应用程序期间,org.xnio.XnioWorker#execute 没有被调用,并且看起来这个池是未使用的。 (内部使用Thread#run with queue polling)。

有人能说出org.xnio.XnioWorker.TaskPool 的用途是什么,以及在什么条件下这个池由Undertow 服务器提供Runnable 任务?

【问题讨论】:

    标签: java spring-webflux undertow xnio


    【解决方案1】:

    只要你有阻塞 IO,它就意味着在工作线程上运行。这是在调用 dispatch 时完成的,并且有一个 helper 处理程序会为您执行此操作 BlockingHandler

    【讨论】:

    • 没有正确理解你。当 Undertow 至少以低负载接收请求时,不会填充 TaskPool 的问题。尚不清楚何时使用TaskPool。以及它是如何确定阻塞 IO 的?
    猜你喜欢
    • 2015-04-02
    • 2018-12-14
    • 1970-01-01
    • 2016-06-04
    • 2015-03-08
    • 2017-12-20
    • 1970-01-01
    • 2017-01-11
    • 2019-05-29
    相关资源
    最近更新 更多