2012-12-06 92 views
0

Wat的區別Selector.keys()Selector.selectedKeys()Java:Selector.keys()和Selector.selectedKeys()之間有什麼區別?

的Javadoc () 「返回此選擇器的鍵集。 的按鍵是不能直接修改的。它已經被取消,其通道已註銷後的一個關鍵就是隻移除。任何試圖修改按鍵會導致一個UnsupportedOperationException被拋出。 鍵集不是線程安全的。

的Javadoc selectedKeys() 返回此選擇的選擇鍵集。 鍵可以從選定鍵集中移除,但不能直接添加到選定鍵集中。任何嘗試向鍵集添加對象都會導致拋出UnsupportedOperationException。 所選鍵集不是線程安全的。

+2

Selector類的javadoc解釋了這些集合是什麼。 –

回答

2

當您創建一個選擇器來使用它時,您需要註冊一些密鑰。這些進入密鑰集。只要選擇了其中一個鍵,就會將其添加到選定的鍵集中。所選的按鍵集將始終是按鍵集的一個子集,但可能並非全部。

相關問題