Java 相当于 C 的 poll()?

Posted

技术标签:

【中文标题】Java 相当于 C 的 poll()?【英文标题】:Java equivalent of C's poll()? 【发布时间】:2014-02-06 10:40:46 【问题描述】:

正如标题所示,我想知道 Java 中与 C 的 poll() 轮询一组文件描述符的函数等效(或最相似)的函数是什么?

【问题讨论】:

java.nio 会在这里得到一些东西***.com/questions/15493272/… 我真的很感兴趣 java 中的确切功能将与 C poll 完全一样。 是什么让你觉得有一个?有java.nio.channels.Selector,但是没有人说和poll()一模一样。 @EJP 我只是想知道是否存在,因此是“(或最相似的)”。谢谢,java.nio.channels.Selector 看起来像我需要的。 【参考方案1】:

正如@EJP 对 java.nio.channels.Selector

的评论

选择器支持基于键的、非阻塞的、多路复用的 I/O。换句话说,选择器 使您能够通过多个通道执行 I/O。选择器最适用于支持套接字的通道。

java.nio.channels.Selector最好看一下javadoc。

java.nio.channels.Selector

从 Java ( 7 ) 1.4 及更高版本开始提供此功能

【讨论】:

文档说自:1.4 - 我猜它只有 NIO 而不是 NIO.2

以上是关于Java 相当于 C 的 poll()?的主要内容,如果未能解决你的问题,请参考以下文章

java - 为啥在java中的poll方法之后PriorityQueue中的值会发生变化? [复制]

POLL原理分析与java实战

Java NIO 选择器(Selector)的内部实现(poll epoll)

java Queue中 remove/poll, add/offer, element/peek区别

java Queue 的remove/poll, add/offer, element/peek

JAVA中add()和offer() poll()和remove() element() 和 peek() 操作