⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serverpool.java

📁 试题库管理系统 该系统所包含的子系统有:用户管理子系统、课程管理子系统、习题管理子系统和试卷库管理子系统。而用户管理子系统下分的模块有:添加用户、删除用户和修改用户信息;课程管理子系统下分的模块有:创
💻 JAVA
字号:
package server.pool;
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.concurrent.*;
import java.util.Vector;
import java.util.Date;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2008</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */
public class ServerPool  implements Runnable{
    private int port=8000;
    private Vector userContainer=new Vector();
    private Thread acceptClient=null;
    private CloseBean closed;
    private ServerSocket serverSocket;
    private ExecutorService executorService;
    private final int POOL_SIZE=4;
    /**
     * 默认构造函数
     */
    public ServerPool() {
    }
    /**
     * 启动服务器函数
     * @throws IOException
     */
    public void startServer()throws IOException{
        closed=new CloseBean();
        serverSocket = new ServerSocket(port);
        executorService=Executors.newFixedThreadPool(POOL_SIZE);
        acceptClient=new Thread(this);
        acceptClient.setDaemon(true);
        acceptClient.start();
        System.out.println("服务器已启动...");
    }
    /**
     * 关闭服务器函数
     * @throws IOException
     */
    public void closeServer()throws IOException{
         closed.setClosed(true);
         acceptClient=null;
         userContainer.clear();
        executorService.shutdown();
        serverSocket.close();
        serverSocket=null;
        executorService=null;
        System.out.println("服务器已关闭...");
    }
    /**
     * 实现Runnable接口,用来接收客户端的连接
     */
    public void run(){
        System.out.println("守护进程已运行...");
        while(!closed.isClosed()){
        try {
          Socket   socket = serverSocket.accept();
            executorService.execute(new WorkThread(socket,userContainer,closed));
             System.out.println("服务器已接收到客户端...");
        } catch (IOException ex) {
        }
        }
        System.out.println("守护进程已关闭...");
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -