本文目录:
Java 多线程环境下,JUC 包下也为我们提供了很多工具类,使得我们不需要过多的关心具体业务场景下,应该如何写出同时兼顾线程安全性与高效率的代码。JUC包下的这些工具类都是基于 CAS 机制来保证线程的安全。在项目中使用这些工具类,我们不再需要过多的了解底层原理,工作中只需要了解如何使用即可。
本文主要介绍 JUC 并发包下这些常用的工具类:CountDownLatch
、CyclicBarrier
、Semaphore
、Exchanger
、Phaser
这些类的使用。尤以 CountDownLatch
类使用最多。
1.CountDownLatch(闭锁)
CountDownLatch
是一个计数器闭锁。主要的功能就是:在完成一组线程中执行的操作之前,它允许一个或多个线程通过await()方法
来阻塞处于一直等待状态,用给定的计数初始化 CountDownLatch ,调用c