导读目录
- 使用NIO实现非阻塞Socket通信
非阻塞通信的几大类:Buffer、Channel、Selector、SelectionKey
1.使用NIO实现非阻塞Socket通信
普通的Socket与ServerSocket实现的阻塞式通信,即前面实现的网络通信程序都是基于阻塞式API,因此在程序执行输入和输出操作后,在这些操作返回之前会一直阻塞该线程,所以服务器必须为每一个客户端都提供一个独立的线程进行处理。当服务器要处理要同时处理大量客户端时,这种方式(阻塞式)会导致性能下降。
Java的NIO API可以让服务器端使用一个或有限几个线程来同时处理连接到服务器端的所有客户端。