threadpool.java
来自「Java多线程例子 为你提供一个JAVA多线程的实例」· Java 代码 · 共 50 行
JAVA
50 行
/*
* Created on 2005-9-2
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.apollo.thread.example;
import java.util.LinkedList;
public class ThreadPool {
private LinkedList list = new LinkedList();
private final int MAX_SIZE;
public ThreadPool(int size) {
this.MAX_SIZE = size;
for (int i = 0; i < size; i++) {
Thread t = new NodeProcessThread();
list.add(t);
}
}
public boolean isEmpty(){
return list.size() == 0;
}
public boolean isFull(){
return list.size() == this.MAX_SIZE;
}
public void push(NodeProcessThread npt){
if ( isFull() ) {
//应该抛一个“线程池满”的异常
} else {
list.add(npt);
}
}
public NodeProcessThread pop(){
NodeProcessThread result = null;
if ( isEmpty() ) {
//应该抛一个“线程池空”的异常
} else {
result = (NodeProcessThread)list.removeFirst();
}
return result;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?