我正在尝试用 Java 重写一个 Python 库。我想知道是否有任何 java 包可用,它类似于 Python 中可用的 select 模块。
http://docs.python.org/library/select.html
我已经提到了 nio 包,但我想知道是否有稍微更相似的 Java 实现。
请您参考如下方法:
除非你愿意写一个 JNI您自己选择(2) 的包装器,或者可以在网上找到一个。 (我简单地看了看,但没有找到。)如果您想支持 Java 的打开文件概念(例如,映射 Java InputStream),这也可能是一个有趣的小挑战> 转换成 Unix 文件描述符)。
如您所述,在 Java 中执行此操作的首选方法是使用 java.nio。不过,nio 确实有一些限制。 nio 和 select(2) 之间的最大区别,除了 API 差异之外,是 nio 将仅通过网络套接字进行多路复用。例如,您不能使用它来多选打开的文件。
