郑州定制网站推广工具产品,网站建设的工作计划,2018年做返利网站,wordpress手机版加搜索框目录 概述锁分类按上锁方式划分按特性划分悲观锁/乐观锁重入锁/不可重入锁公平锁/非公平锁独享锁/共享锁 其它自旋锁分段锁无锁/偏向锁/轻量级锁/重量级锁 结束 概述
java 锁分类#xff0c;虽是概念#xff0c;很常见。
锁分类
按上锁方式划分
锁关键字解释隐式锁synchr… 目录 概述锁分类按上锁方式划分按特性划分悲观锁/乐观锁重入锁/不可重入锁公平锁/非公平锁独享锁/共享锁 其它自旋锁分段锁无锁/偏向锁/轻量级锁/重量级锁 结束 概述
java 锁分类虽是概念很常见。
锁分类
按上锁方式划分
锁关键字解释隐式锁synchronized不需要显示加锁和解锁显示锁juc包中提供的锁需要显示加锁和解锁
按特性划分
悲观锁/乐观锁
按照线程在使用共享资源
锁关键字解释悲观锁juc锁,synchronized乐观锁cas关系型数据库的版本号机制
重入锁/不可重入锁
按照同一个线程是否可以重复获取同一把锁划分为重入锁和不可重入锁
重入锁ReentrantLock、synchronized不可重入锁不可重入锁与可重入锁相反线程获取锁之后不可重复获取锁重复获取会发生死锁。
公平锁/非公平锁
**按照多个线程竞争同一锁时需不需要排队能不能插队**划分为公平锁和非公平锁。
独享锁/共享锁
按照多个线程能不能同时共享同一个锁锁划分为独享锁和共享锁。
独享锁和共享锁是不能同时存在的。
独享锁独享锁也叫排他锁synchronized、ReentrantLock、ReentrantReadWriteLock的WriteLock写锁共享锁ReentrantReadWriteLock的ReadLock读锁
其它
自旋锁
实现CAS
分段锁
实现ConcurrentHashMap
无锁/偏向锁/轻量级锁/重量级锁
这四个锁是synchronized独有的四种状态级别从低到高依次是无锁、偏向锁、轻量级锁和重量级锁它们是jvm为了提高synchronized锁的获取与释放效率而做的优化四种状态会随着竞争的情况逐渐升级而且是不可逆的过程即不可降级。
结束
并发中的各种锁概念至此就结束了如有疑问欢迎评论区留言。