AQS原理

目录

执行流程

节点阻塞后

唤醒下一个线程 

图解 (黑马)

非公平锁的体现

基于ReentrantLock的非公平锁展现

执行流程

 

 

 

 

 

 

 

 

 

 

 

 

 

节点阻塞后

 

 

 

 

 

 

唤醒下一个线程 

  

 

图解 (黑马)

 

非公平锁的体现

从上面的源码中可以看到线程一来就去尝试获取锁(体现非公平),在未获得锁就进入acquire(1)方法,执行tryAcquire(arg)再次尝试获取锁,没有获得锁再进入等待队列。

对于公平锁而言,直接进入等待队列不会尝试获取锁(先进先出)。

 


版权声明:本文为qq_56800327原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。