您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關SelectableChannel怎么在java中使用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
(1)SelectableChannel 是一個抽象類,它實現了 Channel 接口,這個類比較特殊。
(2)SelectableChannel 可以被 Selector 用來多路復用,不過首先需要調用 selectableChannel.configureBlocking(false) 調整為非阻塞模式。
SelectionKey register(Selector sel, int ops) SelectionKey register(Selector sel, int ops, Object att)
第一個參數代表要注冊的 Selector 實例。
第二個參數代表本通道感興趣的操作,這些都定義在 SelectionKey 類中。
第三個參數 Object att 是注冊時的附件,也就是可以在注冊的時候帶點什么東西過去。
知識點擴展:
定義自己的SelectableChannel
我的理解是java實現基于unix select()c函數(我似乎記得 Windows實現略有不同)
根據操作系統(和JVM args!),調用不同的本機OS函數,但它們的共同點是它的本機代碼 – 基本功能不是用Java實現的.
如果你想創建一個訪問底層操作系統的select()(或類似)的lib(它確實依賴于文件句柄),我認為你幾乎被迫使用JNI.我不相信有任何方法可以解決它.
Java中的Selector / SelectableChannel實際上是select()可以做的貧血子集.
上述就是小編為大家分享的SelectableChannel怎么在java中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。