看看这篇文章,自己实现了线程池
http://www.blogjava.net/standlww/archive/2008/10/17/235100.html
JDK1.5以后实现了自己的线程池管理,贴一个ExecutorService的用法,很简单
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class AThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + ", i=" + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
// 创建容量为2的线程池
ExecutorService pool = Executors.newFixedThreadPool(2);
// 创建4个工作线程
AThread t1 = new AThread();
AThread t2 = new AThread();
AThread t3 = new AThread();
AThread t4 = new AThread();
// 把工作线程交由线程池处理
pool.execute(t1);
pool.execute(t2);
pool.execute(t3);
pool.execute(t4);
// 关闭线程池
pool.shutdown();
}
}