Java基础学习总结(193)—— JUC 常用并发工具类总结

Posted 科技D人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础学习总结(193)—— JUC 常用并发工具类总结相关的知识,希望对你有一定的参考价值。

什么是 JUC

JUC 就是 java.util.concurrent 包,这个包俗称 JUC,里面都是解决并发问题的一些东西。该包的位置位于 java 下面的 rt.jar 包下面。4大常用并发工具类:CountDownLatch、CyclicBarrier、Semaphore、ExChanger。

CountDownLatch:

CountDownLatch, 俗称闭锁,作用是类似加强版的 Join, 是让一组线程等待其他的线程完成工作以后才执行,就比如在启动框架服务的时候,我们主线程需要在环境线程初始化完成之后才能启动,这时候我们就可以实现使用 CountDownLatch 来完成。

/**
  * Constructs a @code CountDownLatch initialized with the given count.
  *
  * @param count the number of times @link #countDown must be invoked
  *        before threads can pass through @link #await
  * @throws IllegalArgumentException if @code count is negative
  */
public CountDownLatch(int count) 
    if (count < 0) throw new IllegalArgumentException("count < 0");
    this.sync = new Sync(count);

在源码中可以看到,创建 CountDownLatch 时,需要传入一个 int 类型的参数,将决定在执行次扣减之后,等待的线程被唤醒

以上是关于Java基础学习总结(193)—— JUC 常用并发工具类总结的主要内容,如果未能解决你的问题,请参考以下文章

Java基础学习多线程实战面试题形式

重点知识学习(8.3)--[JUC常用类 || Java中的14把锁 || 对象头 || Synchronized 与 ReentrantLock]

并发编程总结——java线程基础1

Java学习总结:AtomicCASAQSReentrantLock和CountDownLock

Java后端总结

java基础---多线程---JUC原子类