线程池的使用demo:
创建三个线程的线程池打印List
public static void mutilThread(){
List<String> arr = new ArrayList<>();
for (int i = 0;i<100;i++){
arr.add( "这是第" + i + "个");
}
List<Future<?>> submits = new ArrayList<Future<?>>();
ExecutorService pool = Executors.newFixedThreadPool(3);
for (String s : arr) {
Future<?> submit = pool.submit(() -> {
StopWatch stopWatch = new StopWatch();
stopWatch.start();
System.out.println(Thread.currentThread().getName() + " : " + s);
stopWatch.stop();
});
submits.add(submit);
}
for(Future<?> submit : submits){
try {
submit.get();
System.out.println(submit.isDone());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}