1、可以透過 Selector 管理多個 SelectableChannel,它的 select() 方法可以監控哪些頻道已經準備好進行 I/O 操作了,回傳值代表了這些 I/O 的數量。
int select() int select(long timeout) int selectNow()
2、當呼叫select() 方法後,它會把代表已經準備好I/O 操作的通道的SelectionKey 保存在一個集合中,可以透過selectedKeys() 返回。
Set<SelectionKey> selectedKeys()
select() 的三個方法,從命名就可以看出這幾個方法的不同之處,第一個方法是阻塞式調用,第三個方法設定了一個超時時間,第三個方法是立即返回。
1、簡單,只要理解基本的概念,就可以寫出適合各種情況的應用程式;
2、物件導向;
3、分佈性,Java是網路導向的語言;
4、穩健性,java提供自動垃圾收集來進行記憶體管理,防止程式設計師在管理記憶體時容易產生的錯誤;
5、安全性,用於網路、分佈環境下的Java必須防止病毒的入侵;
6、體系結構中立,只要安裝了Java執行時間系統,就可在任意處理器上運行;
7、可移植性,Java可以方便地移植到網路上的不同機器;
8、解釋執行,Java解釋器直接對Java字節碼進行解釋執行。
以上是java的Selector怎麼選擇通道的詳細內容。更多資訊請關注PHP中文網其他相關文章!