導讀目錄
- 使用NIO實現非阻塞Socket通信
非阻塞通信的幾大類:Buffer、Channel、Selector、SelectionKey
1.使用NIO實現非阻塞Socket通信
普通的Socket與ServerSocket實現的阻塞式通信,即前面實現的網絡通信程序都是基于阻塞式API,因此在程序執行輸入和輸出操作后,在這些操作返回之前會一直阻塞該線程,所以服務器必須為每一個客戶端都提供一個獨立的線程進行處理。當服務器要處理要同時處理大量客戶端時,這種方式(阻塞式)會導致性能下降。
Java的NIO API可以讓服務器端使用一個或有限幾個線程來同時處理連接到服務器端的所有客戶端。