我想在epoll和poll之间进行性能比较,看来在Linux下,netty会一直使用epoll,有没有办法(配置)让我用poll来做通信?
答案 0 :(得分:2)
我想你可以查看sun.nio.ch包,我正在使用Mac。在rt.jar文件中,我可以找到PollSelectorProvider和KQueueSelectorProvider。这个链接很老https://blogs.oracle.com/alanb/entry/epoll,我没有自己尝试。但我认为它必须有一些方法来改变选择器。
答案 1 :(得分:1)
Netty现在只公开epoll native implementation。
当你不使用它时,需要JDK实现,我相信JDK总是会在Linux上使用epoll。
您可能希望将Netty的本机epoll实现与JDK实现进行比较。 Netty实现的优势在于它暴露TCP options not exposed by the JDK并允许其使用边缘触发模式。
您还可以查看this page to understand where poll would be a better option than epoll。