倒计时门栓,CountDownLatch 使用详解"/>
java 倒计时门栓,CountDownLatch 使用详解
1. CountDownLatch 是什么?
从这个类的字面意思来入手,CountDown 是倒计时的意思,Latch 是门栓的意思,加起来的意思就是一个倒计时的门栓。
它其实是作用于线程当中的,它就像一个门栓,一开始是关闭的,所有希望通过该门的线程都需要等待,然后开始倒计时,当倒计时一到,等待的所有线程都可以通过。
要注意的是,它是一次性的,打开之后就不能关上了。
2. 怎么使用 CountDownLatch
2.1 构造方法
public CountDownLatch(int count)
解释:
count 就是需要等待的线程数量
2.2 重要方法
// 调用此方法的线程会被阻塞,直到 CountDownLatch 的 count 为 0
public void await() throws InterruptedException
// 和上面的 await() 作用基本一致,只是可以设置一个最长等待时间
public boolean await(long timeout, TimeUnit unit) throws InterruptedException
// 会将 count 减 1,直至为 0
public void countDown()
2.3 基本使用
2.3.1 需求
现在实现主线程等待其他线程的任务完成之后,才继续执行的代码。
2.3.2 代码实现
public class CountDownLatchDemo {
static class TaskT
更多推荐
java 倒计时门栓,CountDownLatch 使用详解
发布评论