我是靠谱客的博主 感动斑马,这篇文章主要介绍JAVA并发编程学习12(关于CyclicBarrier底层的执行流程),现在分享给大家,希望可以做个参考。

CyclicBarrier底层执行流程

1.初始化CyclicBarrier中的各种成员变量,包括parties、count以及Runnable(可选)。

2.当调用await方法时,底层会先检查计数器是否已经归零,如果是的话,就首先执行可选的Runnable,接下来开始下一个generation;

3.在下一个分代(generation)中,将会重置count的值为parties,并且创建新的Generation实例。

4.同时会调用Condition的signalAll方法,唤醒所有在屏障前等待的线程,让其开始继续执行。

5.如果计数器没有归零,那么当前的调用线程将会通过Condition的await方法,在屏障前进行等待。

6.以上所有执行流程均在lock锁的控制范围内,不会出现并发情况。

最后

以上就是感动斑马最近收集整理的关于JAVA并发编程学习12(关于CyclicBarrier底层的执行流程)的全部内容,更多相关JAVA并发编程学习12(关于CyclicBarrier底层内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部