threadpoolmanager.java~1~

来自「一个可以实现联网售票的火车售票管理系统」· JAVA~1~ 代码 · 共 46 行

JAVA~1~
46
字号
package mvc.server;


import java.net.*;
import java.util.*;
import mvc.server.*;
import mvc.server.IoStrategy;

public class ThreadPoolManager implements IoStrategy {
    IoStrategy brokerServer;
    List list = new ArrayList();
    public ThreadPoolManager(IoStrategy brokerServer) {
        this.brokerServer = brokerServer;
    }

    public void ioService(Socket skt) {
        IOThread th = null;
        if ((th = findIdleThread()) == null) {
            th = this.createNewThread();
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        th.setSocket(skt);
    }

    public IOThread findIdleThread() {
        for (int i = 0; i < list.size(); i++) {
            IOThread th = (IOThread) list.get(i);
            if (th.isIdle()) {
                return th;
            }
        }
        return null;
    }

    public IOThread createNewThread() {
        IOThread th = new IOThread(this.brokerServer);
        list.add(th);
        th.start();
        return th;
    }
}

⌨️ 快捷键说明

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