Java并发
黑铁程序yuan
Your persistence will reward you .
展开
-
线程池复习
文章目录0. 基础知识Java 线程模型创建线程的方式线程的生命周期sleep,wait,park 区别中断对线程的影响守护线程Java 内存模型(JMM)1. FutureTaskFutureTask,Future ,Runnabletask 的状态构造方法rungetcancel2. ThreadPoolExecutor体系结构线程池的构造方法线程池的生命周期线程池状态转换的方法方法调用链executeaddWorker (mainLock)WorkrunWorker(w.lock())getTaskp原创 2020-08-24 22:29:31 · 398 阅读 · 4 评论 -
JUC_AQS_相关
文章目录1. AbstractQueuedSynchronizer1.0 AQS 和 其他同步组件的关系1.1 ==LockSupport 的 park() 和 unpark()==1.2 AQS 的独占锁模式1.3 AQS 总结2. ==ReentrantLock==2.1 自己动手写一个锁2.2 ReentrantLock(独占锁)2.3 独占锁 & 公平锁 [lock,unlock]2.4 独占锁 & 非公平锁[lock,unlock]2.5 lockInterruptibly()2.原创 2020-07-29 22:35:55 · 192 阅读 · 2 评论 -
CAS
文章目录1. CAS1.1 count++ 问题1.2 自己实现 CAS1.3 JDK 中的 CAS1.4 存在的问题2. LongAdder2.0 参考文献2.1 AtomicLong 存在的问题2.2 LongAdder 解决以及带来的问题2.3 AtomicLong VS LongAdder2.4 源码阅读 1. CAS 1.1 count++ 问题 public class Test { private int count =0; void add(){ count+原创 2020-07-18 19:59:25 · 184 阅读 · 0 评论