一、为什么要使用线程池
当我们需要的并发执行线程数量很多时,且每个线程执行很短的时间就结束了,这样,我们
频繁的创建、销毁线程
就大大降低了工作效率(创建和销毁线程需要时间、资源)。java中的线程池可以达到这样的效果:一个线程执行完任务之后,继续去执行下一个任务,不被销毁,这样线程利用率提高了。
二、Jdk 1.5后线程池
//【固定的线程池】定义进程池并指定其大小
ExecutorService threadPool = Executors.newFixedThreadPool(3);
for(int i=1;i<=10;i++){
final int task = i;
threadPool.execute(new Runnable(){
@Override
public void run() {
for(int j=1;j<=2;j++){
try {
Thread.sleep(20);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + " is looping of " + j + " for task of " + task);
}
}
});
}
java.ut