栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java锁的种类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java锁的种类

概述

锁大概有以下名词:
自旋锁、自旋锁的其他种类、阻塞锁、可重入锁、读写锁、互斥锁、悲观锁、乐观锁、公平锁、偏向锁、对象锁、线程锁、锁粗化、锁消除、轻量级锁、重量级锁、信号量、独享锁、共享锁、分段锁。

我们所说锁的分类其实应该按照锁的特性和设计来划分。

其实从并发的角度来讲,按照线程安全的三种策略看,主要内容都集中在互斥同步里,我们所讨论的锁也集中在这个部分,这个部分的锁都是悲观锁;第二个部分是非阻塞同步,这个部分也就一种通过CAS进行原子类操作,这个部分可以看成乐观锁,其实也就是不加锁;第三个部分是无同步方案,包括可重入代码和线程本地存储。

常见的锁

Synchronized和Lock。
其实我们真正用到的锁也就那么两三种,只不过依据设计方案和性质对其进行了大量的划分。

  • Sychronized语义上的实现:它就是一个非公平、悲观、独享、互斥、可重入的重量级锁。
    以下两个锁都在JUC包下,是API层面上的实现:
  • ReentrantLock:它是一个默认非公平但可实现公平的、悲观、独享、互斥、可重入、重量级锁。
  • ReentrantReadWriteLock:它是一个默认非公平但是可实现公平的、悲观、写独享、读共享、读写、可重入、重量级锁。
按照性质分类 公平锁/非公平锁 乐观锁/悲观锁 独享锁/共享锁 互斥锁/读写锁 可重入锁 按照设计方案分类 自旋锁/自适应锁 偏向锁/轻量级锁/重量级锁 分段锁 参考

java锁的种类
Java 中15种锁的介绍

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671523.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号