JUC包学习所得 — 1.LOCK java.util.concurrent.locks.Lock 是一个类似于 synchronized 块的线程同步机制。但是 Lock 比 synchronized 块更加灵活、精细…
标签:JUC
JUC-LinkedBlockingQueue学习
一.概述 LinkedBlockingQueue是单向链表实现的可选的有界的阻塞队列 1. 队列元素是先进先出FIFO (first-in-first-out) 2. 队列的头元素head是在队列中时间最长的元素,因为最…
JUC-ArrayBlockingQueue学习
一.概述 ArrayBlockingQueue是一个由数组支持的有界阻塞队列 1. 队列元素是先进先出(FIFO) 2. 队列的头元素是在队列中时间最长的元素,因为最先入队列的,获取操作(poll、peek、take)返…
JUC - 基本线程阻塞原语LockSupport
一.概述 LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础,它们底层其实都是依赖Unsafe实现。 LockSupport是创建锁和其他同步类的基本线程阻塞原语,park 和 unpark…
JUC目录
1.Java内存模型 JUC – Java内存模型JMM 2. 锁Locks JUC – 基本线程阻塞原语LockSupport JUC – 队列同步器AbstractQueuedSy…
JUC - 可重入锁ReentrantLock
一. ReentrantLock初识 上一篇介绍了实现同步锁的基础AQS:JUC – 队列同步器AQS 1. ReentrantLock具有与 synchronized 相同的一些基本行为和内存语义,但是比s…
JUC Striped64
java.util.concurrent 该包中提供了很多并发环境中表现优秀的类,今天先来介绍下java.util.concurrent.atomic.Striped64这个类 Striped64的基本思想是热点数据分离…
JUC LongAdder DoubleAdder LongAccumulator DoubleAccumulator
上一篇博客讲解了java.util.concurrent包中的Striped64这个类,今天讲解LongAdder,DoubleAdder, LongAccumulator,DoubleAccumulator这四个类,如…
JUC ConcurrentLinkedQueue
今天来介绍一个高性能的非阻塞队列,同样来自java.util.concurrent包,出自我们的大神Doug Lea(献上我的膝盖) An unbounded thread-safe {@linkplain Queue …
juc.Executor实现原理
一、数据结构与线程构造方法 ThreadPoolExecutor线程池的数据结构: 1.线程池需要支持多个线程并发执行,因此有一个线程集合Collection<Thread>来执行线程; 2.涉及任务的异步执…
java多线程系列--"JUC"原子类 01 之框架
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类 1 基本类型:AtomicInteger,AtomicLong,AtomicBoolean; 2 数组类型:AtomicIntegerArray,Atomic…
java多线程系列--"JUC"原子类 02 之AtomicLong原子类
AtomicInteger,AtomicLong和AtomicBoolean这三个基本类型的原子类的原理和用法相似。介绍下AtomicLong AtomicLong介绍和函数列表 // 构造函数 AtomicLong()…