yamlln

导航

2022年7月28日 #

AQS 和 ReentrantLock

摘要: AQS 和 ReentrantLock 1、公平锁和非公平锁 (1)定义 公平锁:在竞争环境下,先到临界区的线程比后到的线程一定更快的获取得到锁; 非公平锁:在竞争环境下,先到临界区的线程未必比后到的线程更快地获取得到锁; (2)实现 公平锁:将竞争的线程放进一个先进先出的队列中,只有持有锁的线程执 阅读全文

posted @ 2022-07-28 17:18 yamlln 阅读(53) 评论(0) 推荐(0)

synchronized

摘要: synchronized 1、定义: synchronized:是一种互斥锁,一次只能允许一个线程进入被锁住的代码块; 2、场景: (1)修饰实例方法,对应锁是对象实例 (2)修饰对象方法,对应锁是当前类的class实例 (3)修饰代码块,对应锁是传入synchronized的对象实例 3、原理: 阅读全文

posted @ 2022-07-28 15:08 yamlln 阅读(214) 评论(0) 推荐(0)

CAS

摘要: CAS (compare and swap) 翻译过来是比较并交换,但他是一个原子性操作。cpu指令为 cmpxchg CAS CAS 有三个操作数:当前值A、内存值V、要修改的新值B 假设 当前值A 跟 内存值V 相等,那就将 内存值V 改成B 假设 当前值A 跟 内存值V 不相等,要么就重试,要 阅读全文

posted @ 2022-07-28 09:57 yamlln 阅读(78) 评论(0) 推荐(0)