本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明:
1、使用Thread的join()方法,join()方法会阻塞主线程继续向下执行。
2、使用Java.util.concurrent中的CountDownLatch,是一个倒数计数器。初始化时先设置一个倒数计数初始值,每调用一次countDown()方法,倒数值减一,他的await()方法会阻塞当前进程,直到倒数至0。
public classAppMain {public static voidmain(String[] args) throws InterruptedException {//TODO Auto-generated method stub
long start =System.currentTimeMillis() ;
System.out.println();
ArrayList arrayList = new ArrayList<>();for(int i = 0;i<100;i++)
{
myThread m1= newmyThread();
m1.start();
m1.join();
myThread2 m2= newmyThread2();
m2.start();
m2.join();
}long end =System.currentTimeMillis();long endure = end-start;
System.out.println("耗时:"+endure);
}
}
输出:
Thread