Java SE5的java.util.concurrent包中的执行器(Excecutor)将为你管理Thread对象,从而简化了并发编程。Excecutor在客户端和任务执行之间提供了一个间接层;与客户端直接执行任务不同,这个中介对象将执行任务。Excecutor允许你管理异步执行,而无需显式的管理线程的生命周期。
public class CachedThreadPool { public static void main(String[] args){ ExecutorService exec= Executors.newCachedThreadPool(); for(int i=0;i<5;i++){ exec.execute(new LiftOff()); } exec.shutdown(); } }对shutdown()方法的调用可以防止新任务被提交给这个Executot,当前线程将继续运行在shutdown()被调用之前提交的所有任务。这个程序将在Executor中所有任务完成之后尽快退出。