nio做客戶端是否是bug????線上等
客戶端事件處理執行緒程式碼如下:
程式碼流程如上,當我註冊write時,selector不停的返回0,這是否是個bug,我覺得如果有在連線或當selector返回值為0時註冊一個write,就只有當我write時,事件才會觸發,這是不是nio的一個bug
while (!bStop) { try { int n = selector.select(); // 如果要shutdown,關閉selector退出 if (bStop) { selector.close(); break; } // 如果select返回大於0,處理事件 if (n > 0) { for (Iterator i = selector.selectedKeys().iterator(); i.hasNext(); ) { // 得到下一個Key SelectionKey sk = (SelectionKey) i.next(); i.remove(); // 處理 if (sk.isConnectable()) { this.event.processConnect(sk); } else if (sk.isReadable()) { this.event.processRead(sk); sk.cancel(); } else if (sk.isWritable()) { this.event.processWrite(sk); sk.cancel(); } } } else { //?????註冊write後,不停的執行 } } catch (IOException e) { log.error(e.getMessage()); this.event.processError(e); } catch (Exception e) { log.error("資料處理錯誤: " + e.getMessage()); } } log.debug("nio監聽執行緒已經退出"); } <p class="indent"> |
程式碼流程如上,當我註冊write時,selector不停的返回0,這是否是個bug,我覺得如果有在連線或當selector返回值為0時註冊一個write,就只有當我write時,事件才會觸發,這是不是nio的一個bug
相關文章
- nio 當客戶端主動關閉連線,伺服器端怎麼才能知道客戶端伺服器
- 客戶端的socket是否需要bind?客戶端
- HTTP客戶端連線,選擇HttpClient還是OkHttp?HTTP客戶端client
- 檢測iOS客戶端是否越獄iOS客戶端
- Java nio 空輪詢bugJava
- impala客戶端連線客戶端
- Redis客戶端連線Redis客戶端
- VNC客戶端是Windows,VNC客戶端是Windows如何進行操作VNC客戶端Windows
- 在客戶端儲存對EJB的遠端呼叫是否可行?客戶端
- 什麼是客戶端渲染?客戶端
- mysql、redis 客戶端連線池MySqlRedis客戶端
- vncserver建立與客戶端連線VNCServer客戶端
- C# 判斷客戶端是否禁用Cookie的方法C#客戶端Cookie
- Applet是否可以作為JMS的客戶端?APP客戶端
- 10.2.0.1的客戶端的bug,不能連上server客戶端Server
- Java review--NIO例項:實現服務端和客戶端的簡單通訊JavaView服務端客戶端
- 乾貨!!!測試如何確定是前端bug還是後端bug前端後端
- Redis客戶端連線數DevOpsRedis客戶端dev
- 從客戶端連線ASM例項客戶端ASM
- 故障排查:是什麼 導致了客戶端批量心跳超時掉線客戶端
- 有道雲筆記 Windows 客戶端,複製貼上 BUG筆記Windows客戶端
- JS 判斷客戶端是iOS還是AndroidJS客戶端iOSAndroid
- 判斷客戶端是微信,還是支付寶客戶端
- 【對線面試官】Java NIO面試Java
- 故障排查:是什麼導致了客戶端批量心跳超時掉線(轉)客戶端
- Java 客戶端 Jedis和JedisPool 連線池Java客戶端
- Oracle客戶端連線伺服器教程Oracle客戶端伺服器
- 客戶端連線資料庫的方法客戶端資料庫
- 客戶端連線故障檢查流程手段客戶端
- PL/SQL developer 遠端連線資料庫 客戶端配置SQLDeveloper資料庫客戶端
- Redis 是如何處理命令的(客戶端)Redis客戶端
- Gofer是Node.js 的HTTP客戶端GoNode.jsHTTP客戶端
- 使用 WebSocket 客戶端連線 MQTT 伺服器Web客戶端MQQT伺服器
- 客戶端怎麼連線到伺服器?客戶端伺服器
- 無線iphone客戶端測試白皮書(二)iPhone客戶端
- 無線iphone客戶端測試白皮書(三)iPhone客戶端
- 配置ORACLE 客戶端連線到資料庫Oracle客戶端資料庫
- MySQL client客戶端的四種連線方式MySqlclient客戶端