- 当程序中需要大量并且生存周期很短的线程时候,可以考虑使用线程池,线程池的工作原理是在线程池创立的时候就创建大量空闲的线程,当一个Runnable或者Callable对象传到线程池的时候,线程池就启动一线程来执行他们的run或者call方法,当run或者call方法完毕后,这个线程并不会就死亡,而是回到线程池中成为空闲状态,等待下次执行的机会。
- 以下为代码示例,具体的讲解穿插在代码中
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class MyThread1 implements Runnable{ public void run(){ for(int i=0; i<100; i++){ System.out.println(Thread.currentThread().getName() + "的i的值为" + i); } } } public class ThreadPoolTest { public static void main(String args[]) throws Exception{ ExecutorService pool = Executors.newFixedThreadPool(6); // 新建一个线程池 pool.submit(new MyThread1()); // 将一个线程提交到线程池 pool.submit(new MyThread1()); // 将一个线程提交到线程池 pool.shutdown(); // 关闭线程池 } }
这是我看李刚编著的《疯狂Java讲义》后总结出来的。
java多线程(13)线程池

