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 条评论
 下一页
  
  
  
  
  
  
  
  
  
 