可重入:就是同一个线程可以重复加锁,可以对同一个锁加多次,每次释放的时候会释放一次锁,直到该线程加锁次数为0,这个线程才释放锁。

读写锁: 也就是读锁可以共享,多个线程可以同时拥有读锁,但是写锁却只能只有一个线程拥有,而且获取写锁的时候,其他线程都已经释放了读锁,而且在该线程获取写锁之后,其他线程不能再获取读锁。

锁降级:线程获取了写锁后,再去获取读锁,然后释放写锁,线程的锁就从写锁降级为了读锁。例如:利用重入升级缓存后把写锁降低为读锁(这个线程需要继续使用缓存)。

表发包:

java.util.concurrent.locks

参考:

http://blog.csdn.net/zhongweijian/article/details/7719220

http://www.codeceo.com/article/java-rd-lock.html

http://www.liechuchina.com/

转载于:https://www.cnblogs.com/mingluosunshan/p/5438152.html

ReentrantReadWriteLock 可重入的读写锁相关推荐

  1. JUC-9.“锁”事(显式锁与隐式锁/悲观锁与乐观锁/公平锁与非公平锁/可重入锁/读写锁(独占/共享/降级)/邮戳锁/死锁)、锁升级

    目录 一.悲观锁与乐观锁 1.1 悲观锁 1.2 乐观锁 二.公平锁与非公平锁 2.1 为什么会有公平锁/非公平锁的设计为什么默认非公平? 2.2 如何选择使用哪种锁? 三.可重入锁(又名递归锁) 3 ...

  2. ReentrantReadWriteLock可重入读写锁分析

    ReentrantReadWriteLock 可重入的读写锁 什么叫可重入:就是同一个线程可以重复加锁,可以对同一个锁加多次,每次释放的时候回释放一次,直到该线程加锁次数为0,这个线程才释放锁. 什么 ...

  3. 聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁

    这篇讲讲ReentrantReadWriteLock可重入读写锁,它不仅是读写锁的实现,并且支持可重入性. 聊聊高并发(十五)实现一个简单的读-写锁(共享-排他锁) 这篇讲了如何模拟一个读写锁. 可重 ...

  4. 聊聊高并发(二十九)解析java.util.concurrent各个组件(十一) 再看看ReentrantReadWriteLock可重入读-写锁

    上一篇聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁 讲了可重入读写锁的基本情况和主要的方法,显示了如何 ...

  5. 聊聊高并发(二十九)解析java.util.concurrent各个组件(十一) 再看看ReentrantReadWriteLock可重入读-写锁...

    上一篇聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁 讲了可重入读写锁的基本情况和基本的方法,显示了怎样 ...

  6. 深入理解读写锁ReentrantReadWriteLock

    深入理解读写锁ReentrantReadWriteLock 前言 业务开发中我们可能涉及到读写操作. 面对写和读,对于数据同步,在使用Lock锁和 synchronized关键字同步数据时候,对于读读 ...

  7. 深入浅出多线程编程实战(九)读写锁ReentrantReadWriteLock

    文章目录 前言 一.ReadWriteLock 二.ReentrantReadWriteLock 1.特性 2.使用样例 结尾 前言 在前面的文章中我们介绍过两种锁:内置锁(synchronized) ...

  8. java 阻塞锁_Java实现锁、公平锁、读写锁、信号量、阻塞队列、线程池等常用并发工具...

    锁的实现 锁的实现其实很简单,主要使用Java中synchronized关键字. public class Lock { private volatile boolean isLocked = fal ...

  9. 读写锁(ReentranReadWriteLock))详解

    基本介绍 ReadWriteLock同Lock一样也是一个接口,提供了readLock和writeLock两种锁的操作机制,一个是只读的锁,一个是写锁.ReentranReadWriteLock是其实 ...

  10. 多线程并发之读写锁(ReentranReadWriteLockReadWriteLock)使用详解

    [1]基本讲解与使用 ① ReadWriteLock同Lock一样也是一个接口,提供了readLock和writeLock两种锁的操作机制,一个是只读的锁,一个是写锁. 读锁可以在没有写锁的时候被多个 ...

最新文章

  1. 数据库诞生40年,阿里云AWS用技术推动第三次变革
  2. java.util.NoSuchElementException: Unable to validate object
  3. Win7的市场份额终于超过XP了,以后可以逐渐考虑放弃ie6/7了!
  4. bzoj 2905 背单词
  5. 部署 dashboard 插件
  6. NLog自定义字段写入数据库表,示例
  7. 业绩快报|Facebook Q4营收净利润亮眼,利好影响盘后股价大涨12%
  8. 多变量微积分笔记5——梯度与方向导数
  9. 计算机重启文件丢失在哪找回,未保存的word文档如何恢复?找回电脑异常关机未保存的word文档的方法...
  10. 一款阿里的知识管理工具
  11. 网店营销忌讳效应:要知道别人不喜欢什么
  12. 分布式数据存储系统:三要素
  13. 为什么if else过多会影响程序性能?(英文版)
  14. 【ARC 123B】Increasing Triples(贪心)
  15. WSTMart 1.4.2 发布,让 bug 不再飞
  16. 高中日语老师教师资格证考试成功通过前辈备考经验分享
  17. Asp.Net Core 鉴权授权
  18. 基于 Agora SDK 实现 macOS 端的一对一视频通话
  19. xshell6 添加快速命令
  20. HC05主从一体化蓝牙模块配置

热门文章

  1. ARM版Win11系统(intel版Win10/11系统)
  2. IntelliJ IDEA 2021 for Mac(最好的java开发工具)正式版支持m1芯片
  3. rust 使用国内镜像,快速安装方法
  4. office2010下压缩图片没有效果解决方案
  5. 雅可比迭代法和高斯赛德尔迭代法
  6. 笔记-method-swizzling~那些年,一起遇过的坑
  7. spring-tool-suite(STS) 创建 spring boot项目
  8. 爬虫可视化点选配置工具之chrome插件简介
  9. 【转】HTTP请求中的form data和request payload的区别
  10. 【Notification】屏蔽特定应用的通知提示