java SelectableChannel的使實例用法講解
(1)SelectableChannel 是一個抽象類,它實現(xiàn)了 Channel 接口,這個類比較特殊。
(2)SelectableChannel 可以被 Selector 用來多路復用,不過首先需要調(diào)用 selectableChannel.configureBlocking(false) 調(diào)整為非阻塞模式。
2、實例SelectionKey register(Selector sel, int ops)SelectionKey register(Selector sel, int ops, Object att) 第一個參數(shù)代表要注冊的 Selector 實例。 第二個參數(shù)代表本通道感興趣的操作,這些都定義在 SelectionKey 類中。 第三個參數(shù) Object att 是注冊時的附件,也就是可以在注冊的時候帶點什么東西過去。
知識點擴展:
定義自己的SelectableChannel
我的理解是java實現(xiàn)基于unix select()c函數(shù)(我似乎記得 Windows實現(xiàn)略有不同)
根據(jù)操作系統(tǒng)(和JVM args!),調(diào)用不同的本機OS函數(shù),但它們的共同點是它的本機代碼 ? 基本功能不是用Java實現(xiàn)的.
如果你想創(chuàng)建一個訪問底層操作系統(tǒng)的select()(或類似)的lib(它確實依賴于文件句柄),我認為你幾乎被迫使用JNI.我不相信有任何方法可以解決它.
Java中的Selector / SelectableChannel實際上是select()可以做的貧血子集.
到此這篇關(guān)于java SelectableChannel的使實例用法講解的文章就介紹到這了,更多相關(guān)java SelectableChannel的使用內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Python如何讀寫CSV文件2. php測試程序運行速度和頁面執(zhí)行速度的代碼3. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究4. 三個不常見的 HTML5 實用新特性簡介5. 無線標記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁6. ajax請求添加自定義header參數(shù)代碼7. python利用os模塊編寫文件復制功能——copy()函數(shù)用法8. 解決Python 進程池Pool中一些坑9. Python使用jupyter notebook查看ipynb文件過程解析10. 解決python腳本中error: unrecognized arguments: True錯誤
