对于可重入锁,我们目前都知道些什么?
我知道这个class implement Lock interface. 是一种比较高级的锁。

还是三个核心问题:
what is reentrant lock? why would we use it? how to use it?

reentrant lock is a class implement the Lock interface, and provides synchroniation to to methods while accessing resources.
it’s like the keyword synchronized.

it has two features:

  1. allows threads to enter into the lock on a resource more than one. it has a counter in it. each time we reenter, count plus 1.and for each unlock request, it minues one. so when the hold count is 0, the resource is unlocked.
  2. it also offers a fairness mechanism. just set true in it’s constructor. which means, the lock will go to the threads which wait for the longest time.

How to use it?
methods in ReentrantLock() class:
lock()
unlock()
tryLock()
getHoldCount()
可以看出大多数都是从lock()里面搞过来的。
使用步骤:
3. Create an object of ReentrantLock
4. Create a worker(Runnable Object) to execute and pass the lock to the object
5. Use the lock() method to acquire the lock on shared resource
6. After completing work, call unlock() method to release the lock

Reentrant Lock in Java

面试向:什么是Reentrant Lock?相关推荐

  1. Redission 可重入锁(Reentrant Lock)公平锁(Fair Lock)

    可重入锁(Reentrant Lock) Redisson的分布式可重入锁RLock Java对象实现了java.util.concurrent.locks.Lock接口,同时还支持自动过期解锁. p ...

  2. Redission 最常用的可重入锁(Reentrant Lock)

    前言 在分布式项目中,如果采用本地锁synchronized,只能锁住当前服务器的资源,对于其它服务器的资源无效,如果有100万个周时访问同一接口的数据,还是会有相当一部份会去读取数据库,造成数据库的 ...

  3. Android 面试必备 - 线程

    前言 最近准备更新 Android 面试必备基础知识系列,有兴趣的可以关注我的微信公众号 stormjun94,有更新时,第一时间会在微信公众号上面发布,同时,也会同步在 GitHub 上面更新,如果 ...

  4. 面试连环炮之分布式锁

    面试连环炮系列专栏,暂不想换工作的同学可补充知识盲点查缺补漏,准备换工作的同学可针对性突击训练,不打无准备之战.面试战场所向披靡,成为offer收割机,找到心仪的工作.  楼主努力更新,争取每日多更. ...

  5. dx9 lock unlock效率太低_synchronized的缺陷,Lock的诞生

    一.前言 二.synchronized局限性 + Lock锁机制的引入 2.1 synchronized局限性 第一,使用synchronized,其他线程只能等待直到持有锁的线程执行完释放锁(syn ...

  6. java lock的原理,Java中Lock原理探究

    在对于lock锁的使用上,很多人只是掌握了最基础的方法,但是对实现的过程不是很清楚.这里我们对lock锁功能的实现进行分析,以ReentrantLock为例,分析它的锁类型,并对相关的调用方法进行展示 ...

  7. synchronized与Lock的区别与使用

    原文链接 https://blog.csdn.net/u012403290/article/details/64910926 ###引言: 昨天在学习别人分享的面试经验时,看到Lock的使用.想起自己 ...

  8. JAVA lock 原理讲解

    Lock完全用Java写成,在java这个层面是无关JVM实现的. 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock.ReadWri ...

  9. 【JAVA面试】java面试题整理(4)

    版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779 java面试题整理(4) JAVA常考点4 文件夹 1. S ...

最新文章

  1. 实验四-常用图像增强方法
  2. C++string类知识点总结
  3. /proc文件系统读出来的数据是最新的吗?
  4. 在StackBlitz上进行rxjs编程练习
  5. 批量设置Service Order成transferred状态
  6. python描述器descriptor_Python 黑魔法 --- 描述器(descriptor)
  7. 董事、执行董事、总裁、总经理
  8. 前端见微知著AngularJS备忘篇:温故而知新,可以为师矣
  9. 为什么CPU的使用率总是100%
  10. Adobe Illustrator for Mac 2020 24.0.1版 — 矢量绘图工具
  11. mybatis---mybatis插件根据接口自动生成xml文件
  12. 科学计算机求n次方,科学计算器怎么算n次方_科学计算器的度分秒怎么按
  13. IOS快捷指令的用法(快捷指令库使用方法)
  14. POJ3295 Tautology
  15. 渝粤题库 国家开放大学 学前儿童语言教育 期末考试复习资料
  16. wordpress入门主题_WordPress儿童主题入门
  17. 扫脸测试开什么车软件,扫脸测年龄app
  18. 如何解决WIN11系统在安装HyperV虚拟机,网络桥接后网络上传慢的问题
  19. 人为什么要好好努力学习工作
  20. Ubuntu18.04无法连接Wifi解决方案

热门文章

  1. 研究了100多个创业失败案例后,这里有7个血色教训
  2. 祝福喜庆贺卡小程序源码V4.7.4 附件前端+后端
  3. ADS仿真微带贴片天线
  4. AD域服务器的搭建(1)--AD域介绍
  5. 10-3国际黄金最新行情趋势分析及期货原油价格涨跌操作指导
  6. 中国好声音3第一期学员背景扒皮
  7. 3D Game基础——向量的基本知识
  8. Android 解压 Zip 压缩文件
  9. SSM-Spring-Spring装配Bean-通过注解装配Bean-使用@Component装配Bean
  10. 五年增长50倍,云栖小镇是怎么炼成的?