正好今天项目中用到了CountDownLatch,那我们正好总结一下,通过本文你可以学到什么是CountDownLatch及其原理,CountDownLatch的使用场景等。 在阅读本文前,希望你有以下知识储备: AQS - AbstractQueuedSynchronizer(待更新) CAS(Compare And Swap)(待更新) 【Java基础】volatile关键字 我们继续总结学习Java基础知识,温故知新。 CountDownLatch是JDK提供的一个同步工具,它可以让一个或多个线程等待,一直等到其他线程中执行完成一组操作。 CountDownLatch 基于AQS构建同步器: AQS - AbstractQueuedSynchronizer ,即抽象的队列同步器,是一种用来构建锁和同步器的框架。 使用 LockSupport.park(this); 挂起线程,最后会调用到 UnSafe的park,然后调用到native层。 注意:计数器值递减到0的时候,不能再复原。 2.1 作用 构建锁和同步器,进行线程的等待。 2.2 使用场景...