个人随笔
目录
并发(四)、CAS和自旋锁学习笔记(转)
2021-04-21 22:01:20

一、AbstractQueuedSynchronizer

队列同步器AbstractQueuedSynchronizer(简称同步器),是用来构建锁或其他同步组件的基础框架,通过内置的FIFO队列来完成获取线程的排队工作,AQS主要利用硬件原语指令(CAS compare-and-swap),来实现轻量级多线程同步机制,并且不会引起CPU上文切换和调度,同时提供内存可见性和原子化更新保证(线程安全的三要素:原子性、可见性、顺序性)。

二、AQS和synchronized两者的区别

(1)synchronized 是 JVM 实现的,而 AQS 是 JDK 实现的
(2)synchronized 中的锁是非公平的,AQS 默认情况下也是非公平的,但是也可以是公平的。
(3)synchronized比较简单,AQS需要lock()和unlock()来实现,较为复杂

三、CAS介绍

参考:https://blog.csdn.net/lizongxiao/article/details/107472047

 647

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2