java socket线程池

时间:2016-11-12 03:13:24
【文件属性】:

文件名称:java socket线程池

文件大小:175KB

文件格式:PDF

更新时间:2016-11-12 03:13:24

java socket 线程池 详解

package multithread3; import java.io.*; import java.net.*;  import java.util.concurrent.*; public class EchoServer {   private int port=8000;    private ServerSocket serverSocket;    private ExecutorService executorService;                        //线程池    private final int POOL_SIZE=4;                                     //单个CPU时线程池中工作线程的数目    public EchoServer() throws IOException {     serverSocket = new ServerSocket(port);     //创建线程池      //Runtime的availableProcessors()方法返回当前系统的CPU的数目     //系统的CPU越多,线程池中工作线程的数目也越多     executorService= Executors.newFixedThreadPool(                 Runtime.getRuntime().availableProcessors() * POOL_SIZE);     System.out.println("服务器启动");   }    public void service() {     while (true) {       Socket socket=null;       try {          socket = serverSocket.accept();          executorService.execute(new Handler(socket));       }catch (IOException e) {          e.printStackTrace();       }     }   }    public static void main(String args[])throws IOException {     new EchoServer().service();   } 


网友评论

  • 工作中用到,下来学习,对我这样的初学者很有帮助
  • 已实现自己的池,具体效果看上线运行情况