并发JavaJava 并发
- 分类
- Java 并发
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/28 21:25
答案
CyclicBarrier和countdown latch类似,能够实现线程间的技术等待。它能够让一组线程到达屏障时阻塞等待,此时会调用await方法执行parties-1,直到拦截住足够的线程,即parties=0时,才会让所有线程通过。它还可以在构造时传入一个runnable,让线程到达之后执行。而且它比起countdown latch,可以实现重复使用,因为<font style="color:#DF2A3F;">他会在释放线程时会重置parties</font> 使用场景: 循环版countdownlatch,可以拦截N个线程,再进入下一个执行步骤,如进入游戏,先等待所有玩家选完角色,第一次放行,然后再等待所有玩家加载完毕,第二次放行
相关题目(5)
Java 并发并发JavaJava 并发锁
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
有哪些支持并发的集合?共源 1
Java 并发并发JavaJava 并发
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(并发).md
knowledge_noteQuestion 110: 什么是CyclicBarrier?
Source answer: CyclicBarrier和countdown latch类似,能够实现线程间的技术等待。它能够让一组线程到达屏障时阻塞等待,此时会调用await方法执行parties-1,直到拦截住足够的线程,即parties=0时,才会让所有线程通过。它还可以在构造时传入一个runnable,让线程到达之后执行。而且它比起countdown latch,可以实现重复使用,因为<font style="color:#DF2A3F;">他会在释放线程时会重置parties</font> 使用场景: 循环版countdownlatch,可以拦截N个线程,再进入下一个执行步骤,如进入游戏,先等待所有玩家选完角色,第一次放行,然后再等待所有玩家加载完毕,第二次放行
Reviewed answer: CyclicBarrier用于让一组线程到达屏障后相互等待,直到达到指定数量后统一放行。它支持在构造时传入一个Runnable作为屏障动作,并且可循环复用,因为每次放行后会重置计数。