为什么在Netty中引入了本地epoll支持?

问题描述 投票:13回答:2

我相信Java的NIO库将在Linux机器上使用epoll。在Linux机器上使用Epoll而不是NIO有什么好处。

netty nio epoll
2个回答
22
投票

Netty的epoll传输使用epoll边缘触发,而java的nio库使用level触发。除此之外,epoll传输公开配置选项,这些选项在java的nio中不存在,如TCP_CORK,SO_REUSEPORT等。


1
投票

netty's docs中有一些关于此的信息:

Netty提供以下特定于平台的JNI传输:

Linux (since 4.0.16)
MacOS/BSD (since 4.1.11)

与基于NIO的传输相比,这些JNI传输添加特定于特定平台的功能,产生更少的垃圾,并且通常可以提高性能。

© www.soinside.com 2019 - 2024. All rights reserved.