java并发编程
文章平均质量分 88
腿短,快跑
这个作者很懒,什么都没留下…
展开
-
关于锁的四种状态分析
背景在使用多线程场景下,大部分同学都知道使用synchronized关键词来加锁实现多线程下的数据一致性的保证,但是在jdk6以前,synchronized锁是一个十分重量级的锁,之所以说是十分重量级是因为通过synchronized加锁jdk会向操作系统申请锁,锁是操作系统中一种十分核心的资源,可以理解为一个操作系统的锁数量是有限的,当我们每次都去申请操作系统的锁是对锁资源的一种巨大的浪费,另外一方面,大家都知道操作系统分为用户态和内核态,用户态是应用程序所在的一种状态,包括jdk和我们的java程序原创 2021-03-15 22:17:30 · 539 阅读 · 0 评论 -
CAS原理解析
什么是CAScas全称为compareAndSwap,可以很清楚的翻译知道意思为“比较和交换”,字面意思其实就已经解释了CAS的实现原理CAS简介从jdk5开始,jdk提供了java.util.concurrent.*,此包下面的类在高并发场景下经常使用,包中的原子类基于CAS实现了区别于syncchrnoized同步锁,CAS是一种乐观锁CAS实现原理解析上图为cas实现的原理图,很好的诠释了CAS的名称“比较和交换”,先读取当前值,计算应该的结果,再读取值和旧值判断是否相同,..原创 2021-03-15 14:51:24 · 328 阅读 · 0 评论