Java中的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.
ofollow,noindex" target="_blank">http://download.java.net/jdk8/docs/technotes/guides/io/enhancements.html
程式碼日誌版權宣告:
翻譯自:http://stackoverflow.com/questions/10621783/is-there-epoll-equivalent-in-java