📄 threadpoolmanager.java~3~
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -