- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 Java并发编程(十九)Java 并发包中锁原理剖析 LockSupport 工具类
LockSupport 工具类JDK 中的rtjar包里面的LockSupport是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。LockSupport类与每个使用它的线程都会关联一个许可证,在默认情况下调用 LockSupport类的方法的线程是不持有许可证的。LockSupport是使用 Unsafe类实现的,下面介绍 LockSupport 中的几个主要函数。1.void park()方法如果调用 park方法的线程已经拿到了与LockSupport关联的许可证,
2021-02-10 16:37:19 322
原创 Java并发编程(十八)Java 并发包中并发List源码剖析
介绍并发包中的并发List只有CopyOnWriteArrayList。CopyOnWriteArrayList是一个线程安全的ArrayList,对其进行的修改操作都是在底层的一个复制的数组(快照)上进行的,也就是使用了写时复制策略。类图结构如图:在 CopyOnWriteArrayList 的类图中,每个CopyOnWriteArrayList对象里面有一个 array数组对象用来存放具体元素,ReentrantLock独占锁对象用来保证同时只有一个线程对 array 进行修改。这里只要记得 Re
2021-02-02 16:22:31 1242
原创 Java并发编程(十七)Java并发包中原子操作类原理
JUC包提供了一系列的原子性操作类,这些类都是使用非阻塞算法CAS 实现的,相比使用锁实现原子性操作这在性能上有很大提高。原子性操作类的原理大致相同,下面描述下AtomicLong类的实现原理以及JDK8中新增的LongAdder和 LongAccumulator类的原理。AtomicLongAtomicLong是原子性递增或者递减类,其内部使用 Unsafe 来实现,我们看下面的代码。public class AtomicLongTest { /** 原子计数器 */ priva
2021-02-01 15:59:49 326
frp_0.32.0_linux_all.zip
2020-03-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人