java并发 13
-
02 2021年07月
-
31 2021年03月
-
26 2020年08月
-
18 2019年08月
-
11 2019年08月
CountDownLatch介绍
简介CountDownLatch是一个同步工具类,在完成一组正在其他线程中执行的操作之前,它允许一个或者多个线程一直等待。与CyclicBarrier区别:CountDownLatch允许一个或者N个线程等待其他线程完成执行;而CyclicBarrier允许N个线程相互等待。CountDownLat
-
08 2019年08月
CyclicBarrier简介
简介CyclicBarrier也是java并发包中的一个工具类,也被称为同步屏障,作用是可以让一组线程达到一个屏障时阻塞,直到最后一个线程到达屏障时,所有被阻塞的线程才能继续执行。示意图如下:下面将从源码的角度来看看CyclicBarrier并发类,如无特殊说明,本文JDK版本为1.8构造方法该类中
-
18 2018年07月
ThreadLocal解析
ThreadLocal理解网上有很多常见对于ThreadLocal的介绍,大概如下:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路ThreadLocal的目的是为了解决多线程访问资源时的共享问题既然ThreadLocal它并不是解决多线程共享变量的问题,那么ThreadLocal
-
12 2018年07月
ReentrantReadWriteLock详解
ReentrantReadWriteLock介绍在大多数场景下都是读服务多点,写服务相对来说少点,而且读服务不存在竞争的情况,java提供了另外一个接口,就是今天的要说的ReentrantReadWriteLock(读写锁)读写锁允许同一时刻被多个读线程访问,但是在写线程访问时,所有的读线程和其他的
-
09 2018年07月
ReentrantLock详解
ReentrantLock介绍ReentrantLock可重入锁,是一种递归无阻塞的同步机制。它可以等同于synchronized的使用,但是ReentrantLock提供了比synchronized更强大,更灵活的锁机制,可以减少死锁发生的几率。API介绍如下:一个可重入的互斥锁定 Lock,它具
-
04 2018年06月
Semaphore信号量
信号量Semaphore是一个控制访问多个共享资源的计数器,和CountDownLatch一样,其本质上是一个“共享锁”。Semaphore介绍Semaphore在API是这么介绍的:一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前阻塞每一个acquire(),然后在获得该