Java项目中怎么在子线程结束后执行代码?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
主线程等待子线程,然后子线程执行结束后,主线程再继续执行。
主线程等待子线程需要用到:CountDownLatch
代码如下:
import java.util.concurrent.CountDownLatch;
public class Counter {
public static int count = 0;
static CountDownLatch cdl=new CountDownLatch(1000);//这里的数字,开启几个线程就写几
public synchronized static void inc() throws InterruptedException{//注意,如果不加上synchronized,由于并发写入,结果会小于1000
Thread.sleep(1);
count++;
cdl.countDown();
}
public static void main(String[] args) throws InterruptedException{
for(int i = 0; i < 1000; i++){
new Thread(new Runnable(){
public void run() {
// TODO Auto-generated method stub
try {
Counter.inc();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
).start();
}
cdl.await();//主线程等待子线程执行输出
System.out.println(count);
}
}
关于Java项目中怎么在子线程结束后执行代码问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。