1.join()
如果是一个线程,可以使用此方法,多个不合适
2.CountDownLatch
此为并发计数器,每个线程结束后减一(countDown()),countDownLatch.await();//等待所有子线程执行完
public class ImportThread extends Thread {
private CountDownLatch threadsSignal;
public ImportThread(CountDownLatch threadsSignal) {
this.threadsSignal = threadsSignal;
}
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "开始...");
//Do somethings
threadsSignal.countDown();//线程结束时计数器减1
System.out.println(Thread.currentThread().getName() + "结束. 还有" + threadsSignal.getCount() + " 个线程");
}
}
CountDownLatch threadSignal = new CountDownLatch(threadNum);//初始化countDown
for (int ii = 0; ii < threadNum; ii++) {//开threadNum个线程
final Iterator<String> itt = it.get(ii);
【java】多线程判断全部线程执行结束的方法
最新推荐文章于 2024-06-02 21:10:39 发布