转载

Java中的epoll是否相当?

在Java中有相当于Linux epoll吗?

epoll允许线程对许多异质事件做出反应.例如,我可以有一个线程来响应来自控制台的套接字事件或输入.在C中,我可以通过使用epoll注册stdio和套接字来实现.我的线程将由一个事件触发,如果这些事件.

在Java中有类似的工具吗?我看着nio包,它允许我用一个选择器注册一些套接字.但是,似乎没有办法使用选择器注册控制台/标准io.我没看到什么吗?有另一种方法吗?

在“为什么”:我想编写一个通过套接字进行通信的程序,我想通过从控制台输入命令来驱动这个程序.我知道如何通过将控制台输入和通信分离到不同的线程来实现,但我很好奇是否有一种方法可以在单个线程中执行此操作.

谢谢.

DF

Java SE 6中的增强功能

java.nio中

包含基于Linux epoll事件通知工具的新的java.nio.channels.SelectorProvider实现. epoll工具可用于Linux 2.6和更新的内核.当在Selector上注册了数千个SelectableChannels时,新的基于epoll的SelectorProvider实现比传统的基于poll的SelectorProvider实现更具可扩展性.当检测到2.6内核时,默认情况下将使用新的SelectorProvider实现.当检测到2.6之前的内核时,将使用基于投票的SelectorProvider.

http://download.java.net/jdk8/docs/technotes/guides/io/enhancements.html

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/10621783/is-there-epoll-equivalent-in-java

原文  https://codeday.me/bug/20181016/289545.html
正文到此结束
Loading...