使用Executor管理Thread对象

来源:互联网 发布:佳能mg3580清零软件 编辑:程序博客网 时间:2024/06/10 07:57

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();}}}}


0 0