当前位置:网站首页>如何让主线程等待子线程执行完毕后再执行

如何让主线程等待子线程执行完毕后再执行

2022-06-26 06:05:00 明明就很安静

总结三个方法:

(1)join方法,直接将每个线程都join进去即可。

(2)countdownlatch,内部维持一个计数操作,通过cas算法保证操作的原子性,当线程执行完之后,调用countDown()方法,将计数减一,主线程调用countdownlatch对象的await()方法,将当前线程挂起,直到countdownlatch对象的计数为0,主线程执行。

(3)类似屏障的东西,当子线程执行完之后,调用CyclicBarrier对象的await()方法,直到指定数量的线程到达屏障之后,才会继续执行主线程。把每一个子线程比作&&符号的一个条件,那么只有到所有条件都满足时,才会执行主线程。

原网站

版权声明
本文为[明明就很安静]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_42251944/article/details/125405040