摘要: 五、JUC中的锁 在前面学习了Synchronized锁,回顾synchronized: 可重入锁。 锁升级:无锁态 → 偏向锁 → 轻量级锁 → 重量级锁。 非公平锁 公平锁和非公平锁: 当程序加锁时,肯定会有多个线程竞争这把锁,当一个线程获得锁后,那么就会有一个等待队列维护这些等待线程。 公平锁 阅读全文
posted @ 2021-01-16 23:30 Zs夏至 阅读(212) 评论(1) 推荐(1) 编辑
摘要: 四、 CAS自旋锁(Compare And Swap) 思考一个问题:i++是否是原子性的? 分析i++的操作过程: 内存读取数据写到寄存器 寄存器进行自增操作 寄存器将值写回内存 经过上面分析可以知道,i不是原子性的。那么如何使用多线程进行i操作保证原子性? 上一节学习了synchronized可 阅读全文
posted @ 2021-01-16 00:46 Zs夏至 阅读(273) 评论(1) 推荐(1) 编辑