我可以通过JNI从Java调用的EPoll C实现

我可以通过JNI从Java调用的EPoll C实现,java,c,real-time,nio,epoll,Java,C,Real Time,Nio,Epoll,有没有C专家用C实现过Epoll非阻塞选择器,我可以从Java调用它,这样我就不必使用Java的NIO Epoll实现?您可以找到我用C编写的Epoll示例程序。我希望这将帮助您您可以找到我用C编写的epoll示例程序。我希望这能帮助您如果Java 6中的SelectorProvider在内核2.6或更高版本的Linux上运行,它将使用epoll。如果Java 6中的SelectorProvider在内核2.6或更高版本的Linux上运行,它将使用epoll。是的,Java支持JVM源代码中的e

有没有C专家用C实现过Epoll非阻塞选择器,我可以从Java调用它,这样我就不必使用Java的NIO Epoll实现?

您可以找到我用C编写的Epoll示例程序。我希望这将帮助您

您可以找到我用C编写的epoll示例程序。我希望这能帮助您

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

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

是的,Java支持JVM源代码中的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;
}
是的,java支持JVM源代码中的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;
}

NIO的那个怎么了?如果你描述你的问题,也许这个社区可以帮助你更好地解决它。@JoachimPileborg我希望本地C实现可以被微调,以获得比Sun实现的更好的延迟。NIO中的这个有什么问题吗?如果你描述你的问题,也许这个社区可以帮助你更好地解决它。@JoachimPileborg我希望本机C实现可以进行微调,以获得比Sun实现的更好的延迟。谢谢,但我不能用Java+JNI编写这些代码和代码。我想我会与标准Java NIO实现和平共处谢谢,但是我不能用Java+JNI编写这些代码和代码。我想我会与标准Java NIO实现和平共处