java用java 线程状态模拟三个人百米赛跑,每跑完一米,输出某某同学跑完第X米,运行三次,观察每次谁先胜出

Java主java 线程状态等待所有子java 线程状态執行完毕在执行这个需求其实我们在工作中经常会用到,比如用户下单一个产品后台会做一系列的处理,为了提高效率每个处理都鈳以用一个java 线程状态来执行,所有处理完成了之后才会返回给用户下单成功

我们通过以下的几种方法来解决:

二、使用Thread的join()等待所有的子java 線程状态执行完毕,主java 线程状态在执行thread.join()把指定的java 线程状态加入到当前java 线程状态,可以将两个交替执行的java 线程状态合并为顺序执行的java 线程狀态比如在java 线程状态B中调用了java 线程状态A的Join()方法,直到java 线程状态A执行完毕后才会继续执行java 线程状态B。

 

三、下面结合这个问题我介绍一些並发包里非常有用的并发工具类等待多java 线程状态完成的

 
 

我曾经在网上看到一个关于countDownLatch和cyclicBarrier的形象比喻,就是在百米赛跑的比赛中若使用 countDownLatch的话沖过终点线一个人就给评委发送一个人的成绩10个人比赛发送10次,如果用CyclicBarrier则只在最后一个人冲过终点线的时候发送所有人的数据,仅仅發送一次这就是区别。

参考资料

 

随机推荐