1、用Executor管理异步任务的执行。
2、CachedThreadPool为每个任务都创建一个线程。
3、executor是静态方法,用来创建ExecutorService对象。
4、通常用单个Executor来创建和管理系统中的全部任务。
5、shutdown方法防止新任务提交给Executor,程序将在Executor中的所有任务完成后尽快推出。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class CachedThreadPool {
public static void main(String[] args) {
//用Executor管理异步任务的执行
ExecutorService executorService=Executors.newCachedThreadPool();
//CachedThreadPool为每个任务都创建一个线程
for(int i=0;i<5;i++){
executorService.execute(new LiftOff());
}
executorService.shutdown();
}
static public class LiftOff implements Runnable{
protected int countDown=10;
private static int taskCount=0;
private final int id=taskCount++;
public LiftOff(){}
public LiftOff(int countDown){
this.countDown=countDown;
}
public String status(){
return "#"+id+"("+(countDown>0?countDown:"Liftoff!")+"),";
}
public void run(){
while(countDown-->0){
System.out.print(status());
Thread.yield();
}
}
}
}