【发布时间】:2021-10-13 02:11:24
【问题描述】:
我在我的程序中使用 netty 的事件循环来 submit 可调用和可运行,有时它们永远不会被执行。当我进行线程转储时,它看起来像这样 -
io.netty.channel.kqueue.Native.keventWait(int, long, int, long, int, int, int)
io.netty.channel.kqueue.Native.keventWait(int, io.netty.channel.kqueue.KQueueEventArray, io.netty.channel.kqueue.KQueueEventArray, int, int) (line: 113)
io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(int, int) (line: 177)
io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(boolean) (line: 169)
io.netty.channel.kqueue.KQueueEventLoop.run() (line: 238)
io.netty.util.concurrent.SingleThreadEventExecutor$4.run() (line: 986)
io.netty.util.internal.ThreadExecutorMap$2.run() (line: 74)
io.netty.util.concurrent.FastThreadLocalRunnable.run() (line: 30)
java.lang.Thread.run() (line: 834)
基本上,netty 一直在等待事件,没有任何超时。处理这种情况的正确方法是什么?
【问题讨论】:
标签: java performance netty