publicclassTestThread{privatestaticThreadPoolExecutor threadPool =newThreadPoolExecutor(50,100,60L,TimeUnit.SECONDS,newLinkedBlockingDeque<>(),newThreadFactoryBuilder().setNameFormat("job-task-%d").build());publicstaticvoidexecute(Runnable runnable){
threadPool.execute(runnable);}publicstaticvoidshutDown(){
threadPool.shutdown();}publicstaticvoidmain(String[] args){List list =newArrayList<String>();
list.add("a");list.add("b");list.add("c");list.add("d");list.add("e");list.add("f");finalCountDownLatch latch =newCountDownLatch(list.size());System.out.println("kaishile !");
list.stream().forEach(x->{TestThread.execute(()->test((String) x,latch));});try{
latch.await();}catch(InterruptedException e){
e.printStackTrace();}System.out.println("=====主线程执行完成了!");TestThread.shutDown();System.out.println("=====线程池关闭了!");}publicstaticvoidtest(String a,CountDownLatch latch){System.out.println(a);
latch.countDown();}}===========================================
打印内容如下:
kaishile !
a
b
c
d
e
f
=====主线程执行完成了!
=====线程池关闭了!
Process finished withexit code 0