
锁
子非鱼yy
求知若饥,虚心若愚
展开
-
ReenTrantLock可重入锁(和synchronized的区别)总结
ReenTrantLock可重入锁(和synchronized的区别)总结可重入性:从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程没进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。 锁的实现:Synchronized是依赖于JVM实现的...转载 2018-09-05 16:54:45 · 714 阅读 · 0 评论 -
可重入锁
定义可重入锁,也叫做递归锁,指的是在同一线程内,外层函数获得锁之后,内层递归函数仍然可以获取到该锁。换一种说法:同一个线程再次进入同步代码时,可以使用自己已获取到的锁。作用防止在同一线程中多次获取锁而导致死锁发生。如下,我们通过自旋锁来判断是否会发生死锁:public class SpinLock { private AtomicReference<Th...转载 2018-09-05 17:54:51 · 622 阅读 · 0 评论