Java并发编程:Callable、Future和FutureTask
什么时候使用CountDownLatch
你真的理解CountDownLatch与CyclicBarrier使用场景吗?
JAVA多线程和并发基础面试问答
40个Java多线程问题总结
并发工具类(一)等待多线程完成的CountDownLatch
并发工具类(二)同步屏障CyclicBarrier
并发工具类(三)控制并发线程数的Semaphore
并发工具类(四)两个线程进行数据交换的Exchanger
Java并发包中Semaphore的工作原理、源码分析及使用示例
https://blog.youkuaiyun.com/coslay/article/details/45176063(java Semaphore信号量的原理和示例)