86. 闭锁 CountDownLatch

文章目录

  • 题目描述
  • 解题思路
  • 代码详解
  • 运行截图

题目描述

题目:jdk5.0 在 java.util.concurrent 包中提供了 CountDownLatch,它是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。

闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行:

1)确保某个计算在其需要的所有资源都被初始化之后才继续执行;

2)确保某个服务在其他依赖的所有其他服务都已经启动之后才启动;

3)等待直到某个操作所有参与者都准备就绪在继续执行。

实现:使用 CountDownLatch 实现一个等5个任务完成后,才进行下边的任务。

解题思路

CountDownLatch 提供了一个 await 方法,该方式用于等待前边 countdownlatch 所统计的线程完成后,才可以向下执行,否则一直等待。

创建一个类:Question86

在 main 方法中 new CountDownLatch(5) 初始化的开启计数个数,为0才会跳出等待。

获取当前的时间戳

Long start 

你可能感兴趣的:(Java小题目,java,开发语言)