基于AQS队列对锁的一些认识
AQS
AQS(AbstractQueuedSynchronizer)
简单来说AQS是基于CLH(FIFO)队列结构实现的,通过自旋获取锁,用CAS更新锁的状态的一个同步队列
AQS的核心思想
如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,就将当前的任务节点加入队列,然后通过自旋不断的获取状态。如果获取到状态后,就将当前的节点设置为头结点,意味着当前任务已经获取到锁了。
什么是CLH队列
CLH(Craig,Lan
原创
2022-05-07 11:36:37 ·
140 阅读 ·
0 评论