2

是否有任何 C 大师曾经在 C 中实现过 Epoll 非阻塞选择器,我可以从 Java 中调用它,这样我就不必使用 Java 的 NIO Epoll 实现了?

4

3 回答 3

0

您可以找到我用 C 编写的 epoll 示例程序。我希望对你有帮助你 能推荐一些关于 Linux 上 Epoll 的指南吗

于 2012-08-29T06:53:36.397 回答
0

如果 Java 6 中的 SelectorProvider 在内核 2.6 或更高版本的 Linux 上运行,则使用 epoll。

于 2012-10-19T07:42:08.320 回答
0

是的,JVM源代码中的java支持epoll,你可以找到以下代码

JNIEXPORT jint JNICALL
Java_sun_nio_ch_EPoll_epollCreate(JNIEnv *env, jclass c) {
/*  
 * epoll_create expects a size as a hint to the kernel about how to
 * dimension internal structures. We can't predict the size in advance.
 */
int epfd = epoll_create(256);
if (epfd < 0) {
   JNU_ThrowIOExceptionWithLastError(env, "epoll_create failed");
}   
return epfd;
}
于 2013-08-02T05:02:21.483 回答