可重入锁 

reentrantlock是独占锁且可重入的 synchronized 也可以重入

 可重入意思就是这个线程已经获取锁了,你再获取该锁还能获取 获取的还是原来的锁 不会出现问题 可以降低编程难度

代码如下:

new Thread(new Runnable() {@Overridepublic void run() {synchronized (this) {System.out.println("第1次获取锁,这个锁是:" + this);int index = 1;while (true) {synchronized (this) {System.out.println("第" + (++index) + "次获取锁,这个锁是:" + this);}if (index == 10) {break;}}}}
}).start();

可重入锁是什么和demo相关推荐

  1. Java 可重入锁 不可重入锁

    文章目录 Java 可重入锁 & 不可重入锁 概述 论证synchronized是可重入锁: 论证Lock是可重入锁: 自定义不可重入锁: Java 可重入锁 & 不可重入锁 概述 可 ...

  2. Java进阶:ReentrantLock实现原理解析(公平锁、非公平锁、可重入锁、自旋锁)

    概述 本篇将介绍公平锁.非公平锁.可重入锁.自旋锁相关理论知识,同时结合相关源码和Demo进行解析,主要是以ReentrantLock作为例子. 公平锁 公平锁定义 公平锁是指线程按照申请所的顺序来获 ...

  3. JAVA——以ReentrantLock为例学习重入锁以及公平性问题

    关注微信公众号:CodingTechWork,一起学习交流进步. 引言   重入锁,顾名思义在于这个重字.开发过程中,我们在用到锁时,可能会用于递归的方法上加锁,此时,那同一个方法对象去重复加锁,是怎 ...

  4. 年轻人,看看 Redisson 分布式锁—可重入锁吧!太重要了

    作者 | 李祥    责编 | 张文 来源 | 企鹅杏仁技术站(ID:xingren-tech) 引言 作为后端开发,对于所谓的线程安全.高并发等一系列名词肯定都不会陌生,相关的一些概念及技术框架是面 ...

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

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

  6. 6※、线程同步、同步锁、同步代码块的使用、同步锁释放的时机、ReentrantLock可重入锁、公平锁与非公平锁的区别、什么是死锁、线程间的通信(生产者和消费者模式)

    线程锁 1.※线程的同步:(要确保对象锁是一致的) 1.未使用同步锁的抢票 2.使用了同步锁的抢票 3.线程-同步代码块的使用 4.同步方法和代码块的区别 5.同步锁释放的时机 练习:多线程生产手机 ...

  7. redis分布式锁之redisson可重入锁

    1.上篇讲了java里使用setNX实现redis分布式锁,可是这种方法还是有很多弊端的,追求完美的做法可以使用redisson来实现分布式锁,如下: 2.Redisson 是 java 的 Redi ...

  8. java-15种锁之可重入锁(又名递归锁)

    1.什么是可重入锁(递归锁) 可重入锁(也叫递归锁):指的是同一线程外层函数获得锁之后,内层递归函数仍然可以获取该锁的代码,在同一线程在外层方法获取锁的时候+,在进入内层方法会自动获取锁. 也就是说, ...

  9. 年轻人,看看Redisson分布式锁—可重入锁吧!太重要了

    1.引言 作为后端开发,对于所谓的线程安全.高并发等一系列名词肯定都不会陌生,相关的一些概念及技术框架是面试中的宠儿,也是工作中解决一些特定场景下的技术问题的银弹.今天我们就来聊聊这些银弹中的其中一枚 ...

最新文章

  1. Nature:人类肠道微生物组的肠型
  2. 华尔街分析师点评NetApp转型战略
  3. Linux系统调用--getrlimit()与setrlimit()函数详解
  4. 网页录音解决方案 FlashWavRecorder For Website API 关键地方已注释
  5. fasttext简单理解及应用
  6. 什么是Adobe Lightroom,我需要它吗?
  7. 萌新误入AI歧途怎么办?MIT博士小哥哥给你指条明路
  8. Kubernetes部分Volume类型介绍及yaml示例
  9. java 注册表 乱码_修改注册表 消除应用软件的乱码显示
  10. Tomcat JAAS 身份验证和授权
  11. EastFax传真服务器系统与Email相比有什么优势
  12. ERP原理学习3-5
  13. windows7系统之家旗舰版下载
  14. incompatible types: Object cannot be converted to String
  15. encode decode 使用指南
  16. Readiris Pro 17 for Mac(光学识别OCR软件)
  17. CSS中有哪几种方式能隐藏页面元素(8种)
  18. 关于service层,dao层,controller层
  19. DNSPod十问花生壳陈宇晔:远程办公领域的下一个“独角兽”?
  20. 服务器在机柜中的安装位置,服务器上机柜的安装方法

热门文章

  1. spring-在配置文件中配置DAO时直接引用DataSource
  2. 【编程题目】复杂链表的复制☆
  3. amcharts应用
  4. [举一反三]使用javascript转换字符串为dom对象(字符串动态创建dom)
  5. dm368ipnc 重写架构中的swosd 实现中文osd
  6. 一个传值的问题”*”与”*”
  7. 深入理解C++的动态绑定和静态绑定
  8. 正基模组:WIFI/BT/GPS/FM模组列表
  9. HALCON示例程序rim.hdev轮圈孔检测提取字符
  10. php 赋值 递增,PHP 基础(赋值及函数)