采用线程池和任务队列可以实现一种叫做伪异步的I/O通讯框架。
当有新的客户端接入的时候,将客户端的Socket封装成一个Task(该任务实现java.lang.Rnnnable接口)投递到后端的线程池中进行处理,JDK的线程池维护一个消息队列和N个活跃线程对消息队列中的人物进行处理。由于线程池可以设置消息队列大小和最大线程数,因此他占用的资源师可控的,无论多少个客户端并发访问,都不会导致资源耗尽和宕机。
服务器
package yibu.io;
import com.netty.bio.test.TimeServerHandler;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class