package com.test;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;public classTestDemo9 {
ExecutorService indes=Executors.newCachedThreadPool();public static ExecutorService fixedThreadPool = Executors.newFixedThreadPool(3);public static voidmain(String[] args) {try{newTestDemo9().test();
}catch(Exception e) {
System.out.println("有错误");
}
System.out.println("此进程执行结束");
}public voidtest() throws Exception{
List> list = new ArrayList<>();for(int i = 0; i < 10 ; i ++) {
Future future = indes.submit(new TestDemo9().newTest9(i));
list.add(future);
}
System.out.println("加入队列结束");/*for(Future fu : list) {
System.out.println(fu.get());
if(fu.get().equals("future集合7")) {
System.out.println("7此时的线程已经执行结束了");
break;
}
}*/
//System.out.println(fixedThreadPool.isTerminated());//list.clear();//System.out.println("size"+list.size());//fixedThreadPool.shutdown();
System.out.println("集合打印结束");//System.out.println(fixedThreadPool.isShutdown());
}class Test9 implements Callable{private intcount;public Test9(intcount) {this.count =count;
}
@OverridepublicString call() throws Exception {if(count == 1) {
System.out.println("第一进程开始运行");
}//Thread.sleep(5000);//List> fut = new ArrayList<>();
Future f = TestDemo10.fixedThreadPool.submit(newTest10(count));
String s= "future集合";
System.out.println("执行"+count);
s= s+count;if(count == 1) {
System.out.println(f.get());
System.out.println("1!!!!!执行结束");
}returns;
}
}class Test10 implements Callable{private intcount;public Test10(intcount) {this.count =count;
}
@OverridepublicString call() throws Exception {if(count == 1) {
System.out.println("开始执行1111111");
}
Thread.sleep(5000);
String s= "future集合";
System.out.println(count);
s= s+count;if(count == 1) {
System.out.println("1开始睡觉 5秒钟");
Thread.sleep(5000);
System.out.println("1 睡觉完毕,");
}
System.out.println(count+"执行结束");returns;
}
}
}