缓存性线程池,cachedThreadPool

来源:互联网 发布:退款淘宝介入处理过程 编辑:程序博客网 时间:2024/06/07 09:27
package executor;import java.util.ArrayList;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;/** *  缓存性线程池 * @author muyouGou. * */public class Executor {public static void main(String[] args) throws InterruptedException, ExecutionException {ExecutorService newCachedThreadPool = Executors.newCachedThreadPool();List <Future<String>> resulteList = new ArrayList<Future<String>>();//模拟线程池高峰期往,线程池里面添加for(int i=1;i<=100;i++) {Future<String> submit = newCachedThreadPool.submit(new workTask(i));resulteList.add(submit);}for(Future<String> future : resulteList) {// 判断线程是否执行完成 ,isDone是完成!没有完成就返回一直到完成while(!future.isDone());System.out.println(future.get());}Thread.sleep(5000);// 在实际业务中是不需要关闭线程池的,因为线程池是随着系统启动。随着系统停止而停止// 期间一直在为系统运行newCachedThreadPool.shutdown();}// 此处必须添加static 因为在main方法里是一个static的方法,所以调用的方法也必须是一个static的方法 public static class workTask implements Callable<String>{private int code;public workTask(int code) {this.code = code;}@Overridepublic String call() throws Exception {// 实际的业务逻辑System.err.println("thread name:"+Thread.currentThread().getName());return Thread.currentThread().getName()+"is finished!!";}}}/*   out.println  结果...thread name:pool-1-thread-1thread name:pool-1-thread-3thread name:pool-1-thread-4thread name:pool-1-thread-2thread name:pool-1-thread-5thread name:pool-1-thread-6thread name:pool-1-thread-7thread name:pool-1-thread-2thread name:pool-1-thread-4thread name:pool-1-thread-3thread name:pool-1-thread-1thread name:pool-1-thread-6thread name:pool-1-thread-7thread name:pool-1-thread-5thread name:pool-1-thread-4thread name:pool-1-thread-3thread name:pool-1-thread-2thread name:pool-1-thread-6thread name:pool-1-thread-6thread name:pool-1-thread-2thread name:pool-1-thread-7thread name:pool-1-thread-3thread name:pool-1-thread-5thread name:pool-1-thread-6thread name:pool-1-thread-4thread name:pool-1-thread-8thread name:pool-1-thread-1thread name:pool-1-thread-4thread name:pool-1-thread-5thread name:pool-1-thread-9thread name:pool-1-thread-7thread name:pool-1-thread-2thread name:pool-1-thread-14thread name:pool-1-thread-14thread name:pool-1-thread-9thread name:pool-1-thread-5thread name:pool-1-thread-1thread name:pool-1-thread-7thread name:pool-1-thread-3thread name:pool-1-thread-14thread name:pool-1-thread-9thread name:pool-1-thread-14thread name:pool-1-thread-7thread name:pool-1-thread-1thread name:pool-1-thread-16thread name:pool-1-thread-2thread name:pool-1-thread-11thread name:pool-1-thread-1thread name:pool-1-thread-8thread name:pool-1-thread-2thread name:pool-1-thread-16thread name:pool-1-thread-14thread name:pool-1-thread-4thread name:pool-1-thread-12thread name:pool-1-thread-10thread name:pool-1-thread-6thread name:pool-1-thread-6thread name:pool-1-thread-10thread name:pool-1-thread-12thread name:pool-1-thread-16thread name:pool-1-thread-2thread name:pool-1-thread-2thread name:pool-1-thread-16thread name:pool-1-thread-10thread name:pool-1-thread-10thread name:pool-1-thread-16thread name:pool-1-thread-2thread name:pool-1-thread-18thread name:pool-1-thread-2thread name:pool-1-thread-10thread name:pool-1-thread-2thread name:pool-1-thread-18thread name:pool-1-thread-22thread name:pool-1-thread-2thread name:pool-1-thread-10thread name:pool-1-thread-2thread name:pool-1-thread-22thread name:pool-1-thread-20thread name:pool-1-thread-7thread name:pool-1-thread-24thread name:pool-1-thread-3thread name:pool-1-thread-26thread name:pool-1-thread-9thread name:pool-1-thread-5pool-1-thread-1is finished!!pool-1-thread-2is finished!!pool-1-thread-3is finished!!pool-1-thread-4is finished!!pool-1-thread-5is finished!!pool-1-thread-6is finished!!pool-1-thread-7is finished!!pool-1-thread-2is finished!!pool-1-thread-7is finished!!pool-1-thread-6is finished!!pool-1-thread-5is finished!!pool-1-thread-4is finished!!pool-1-thread-3is finished!!pool-1-thread-1is finished!!pool-1-thread-8is finished!!pool-1-thread-7is finished!!pool-1-thread-6is finished!!pool-1-thread-1is finished!!pool-1-thread-3is finished!!pool-1-thread-4is finished!!pool-1-thread-2is finished!!pool-1-thread-9is finished!!pool-1-thread-6is finished!!pool-1-thread-2is finished!!pool-1-thread-3is finished!!pool-1-thread-4is finished!!pool-1-thread-5is finished!!pool-1-thread-10is finished!!pool-1-thread-7is finished!!pool-1-thread-2is finished!!pool-1-thread-3is finished!!thread name:pool-1-thread-15thread name:pool-1-thread-13thread name:pool-1-thread-19thread name:pool-1-thread-18thread name:pool-1-thread-1thread name:pool-1-thread-16thread name:pool-1-thread-6thread name:pool-1-thread-12thread name:pool-1-thread-8thread name:pool-1-thread-14thread name:pool-1-thread-4thread name:pool-1-thread-25thread name:pool-1-thread-23thread name:pool-1-thread-21thread name:pool-1-thread-17thread name:pool-1-thread-27pool-1-thread-6is finished!!pool-1-thread-11is finished!!pool-1-thread-4is finished!!pool-1-thread-6is finished!!pool-1-thread-5is finished!!pool-1-thread-12is finished!!pool-1-thread-9is finished!!pool-1-thread-5is finished!!pool-1-thread-4is finished!!pool-1-thread-1is finished!!pool-1-thread-8is finished!!pool-1-thread-13is finished!!pool-1-thread-14is finished!!pool-1-thread-7is finished!!pool-1-thread-15is finished!!pool-1-thread-14is finished!!pool-1-thread-2is finished!!pool-1-thread-16is finished!!pool-1-thread-14is finished!!pool-1-thread-17is finished!!pool-1-thread-5is finished!!pool-1-thread-9is finished!!pool-1-thread-18is finished!!pool-1-thread-14is finished!!pool-1-thread-3is finished!!pool-1-thread-7is finished!!pool-1-thread-1is finished!!pool-1-thread-9is finished!!pool-1-thread-19is finished!!pool-1-thread-2is finished!!pool-1-thread-16is finished!!pool-1-thread-1is finished!!pool-1-thread-7is finished!!pool-1-thread-14is finished!!pool-1-thread-20is finished!!pool-1-thread-6is finished!!pool-1-thread-10is finished!!pool-1-thread-12is finished!!pool-1-thread-4is finished!!pool-1-thread-14is finished!!pool-1-thread-16is finished!!pool-1-thread-2is finished!!pool-1-thread-8is finished!!pool-1-thread-1is finished!!pool-1-thread-21is finished!!pool-1-thread-16is finished!!pool-1-thread-12is finished!!pool-1-thread-10is finished!!pool-1-thread-2is finished!!pool-1-thread-6is finished!!pool-1-thread-22is finished!!pool-1-thread-10is finished!!pool-1-thread-16is finished!!pool-1-thread-2is finished!!pool-1-thread-23is finished!!pool-1-thread-2is finished!!pool-1-thread-16is finished!!pool-1-thread-10is finished!!pool-1-thread-24is finished!!pool-1-thread-2is finished!!pool-1-thread-18is finished!!pool-1-thread-25is finished!!pool-1-thread-18is finished!!pool-1-thread-2is finished!!pool-1-thread-10is finished!!pool-1-thread-26is finished!!pool-1-thread-2is finished!!pool-1-thread-22is finished!!pool-1-thread-27is finished!!*/