threadpoolmanager.java

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

JAVA
58
字号
package train.server;

import java.net.*;
import java.util.*;


/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: 沈阳化工学院计算机</p>
 *
 * @author 彭胜勇 胡林
 * @version 1.0
 */
 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 + -
显示快捷键?