
Java并发
沉默的风、
Java攻城狮~生命不止~修炼不止~
展开
-
Java并发之ReentrantLock吐血总结
一、ReentrantLock重入锁基本概念ReentrantLock,重入锁,是JDK5中添加在并发包下的一个高性能的工具。顾名思义,ReentrantLock支持重入功能,即同一个线程在未释放锁的情况下可以重复获取锁,因此,重入的前提必须是同一个线程,后面会基于源码展示重入功能具体是如何实现的。本文内容将以介绍ReentrantLock的基本功能为主体,辅以相应源码的剖析,使读者深入记...原创 2019-10-11 12:44:40 · 562 阅读 · 0 评论 -
AtomicInteger中incrementAndGet与getAndIncrement的区别
在学习原子操作的时候,遇到了自增的方法,但发现AtomicInteger类中有两个类似的方法,研究了下,做下笔记记录。首先看下两个方法的源码:public final int getAndIncrement() { return unsafe.getAndAddInt(this, valueOffset, 1);}public final int incrementAnd...原创 2019-10-11 14:23:54 · 1476 阅读 · 0 评论 -
深入浅出Java并发之CAS机制
在Java中java.util.concurrent.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的。一、CAS机制介绍CAS:英文名Compare And Swap的缩写,意为比较并交换。CAS机制:当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试...原创 2019-10-11 16:24:22 · 586 阅读 · 1 评论