bio tcp为什么要多线程
https://blog.csdn.net/baidu_17508977/article/details/53084768
Tcp编程下的多线程任务
主要内容:
1.博主分三步走:thread、自定义线程池、jdk线程池
2.核心代码,这里给出第2中自定义线程池:
public static void main(String[] args) throws Exception { final ServerSocket server = new ServerSocket(PORT); //最多有THREADPOOLSIZE个线程在accept()方法上阻塞等待连接请求 for(int i=0;i<THREADPOOL_SIZE;i++){ Thread thread = new Thread(){ @Override public void run(){ //线程为某连接提供完服务后,循环等待其他的连接请求 while(true){ //阻塞等待 try { Socket client = server.accept(); System.out.println("与客户端连接成功"); ServerThread.execute(client); } catch (IOException e) { e.printStackTrace(); } } } }; //开启线程 thread.start(); } }
抽象:
while
Socket client = server.accept(); ServerThread.execute(client);