java如何在多线程执行完后才执行其他任务

2024-08-20 22:11:48
推荐回答(4个)
回答1:

java.util.concurrent.CountDownLatch 这个类可答戚以实现你所要的功能

例如:CountDownLatch latch = new CountDownLatch(5) //声明计清神陵数器为5个
Thread t = new Thread() {
public void run() {
try {
//TODO 你的应用
} catch (Exception e) {
//TODO 异常处理
}
finally {
latch.countDown(); //这句是关键
System.out.println("ok"); //5个线程都跑完后输出瞎卜
}
}
};
t.start();
然后让以上操作循环五次(就是说同时开5个线程),那么这个"ok"就会在等到这5个线程都ok后才会被输出一次。

回答2:

给点提示
可以设置一个map对象
key为梁困茄fileName,value 为boolean 结束了就设置为true,没结束就设置为尺者false

然后while循环
直到map中所有的value都为true时才break;
执行你所说的橡察语句

回答3:

通过标识符判断循环是否结束,然后再执行操作

回答4:

设置一个计数器,每个线程执行完后计数器加一然后查看计数器早祥是否已满(任务都完成),没有的话就阻塞陪搜,是的话就唤醒其芦睁历他所有线程,大家一起来执行下一次任务。要注意公用的计数器的线程安全!