CAS 源码分析 lock
2020-05-14 14:55:13 1 举报
CAS原理
作者其他创作
大纲/内容
调用 parkAndCheckInterrupt进行阻塞,当前线程等待,资源锁的释放 private final boolean parkAndCheckInterrupt() { LockSupport.park(this); return Thread.interrupted(); }
ReentrantLock.lock()
ReentrantLock 之非公平锁https://kunge.github.io
acquireQueued循环调用 直到前一个线程 中断或者释放锁
如果每得到返回 false
当资源释放完毕后,唤醒当前的线程
再次调用tryAcquire
继续执行后续业务代码
通过 compareAndSetState判断当前锁是否可以得到
AbstractQueuedSynchronizer
ReentrantLock.NonfairSync
调用 非公平锁方法lock()
ReentrantLock
如果没有得到锁,调用 acquire继续申请
收藏
0 条评论
下一页