码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Reentrantlock简介及使用场景


    转自:

     http://www.java265.com/JavaCourse/202205/3299.html

    下文笔者讲述Reentrantlock的相关简介说明及其使用场景,如下所示:

    Reentrantlock简介

      1.Reentrantlock是并发包中一个可重入的锁
        是基于AQS(AbstractQueuedSynchronized)实现
        它有公平锁和不公平锁两种实现方式
     
      2.Reentranlock中有一个内部抽象类Sync继承自AbstractQueuedSynchronized
          主要是它来实现锁的功能
    	   Sync在ReentrantLock中有两种实现类
    	    NonfairSync、FairSync
    		 正好对应了ReentrantLock的非公平锁、公平锁两大类型
    		 Reentranlock 默认实现为非公平锁
    		 在高竞争的条件下有更好的性能
    

    ReentrantLock的使用场景

     1.检测有操作在运行,则不运行指定代码块(可避免并发竞争) 
        如:在定时任务时,当任务执行时间可能超过下次计划执行时间,确保该任务只有一个正在执行,忽略重复触发。
    
     2.当该操作已经在执行,则等待一个个执行(同步执行,与synchronized相似)
    
     3.当该操作已经在执行,则尝试等待一段时间,超时则放弃执行
         等待获得锁的操作有一个时间的限制
           如果超时则放弃执行,用来防止由于资源处理不当长时间占用导致死锁情况
    
     4.当发现该操作已经在执行,等待执行,此时可中断正在进行的操作立刻释放锁继续下一操作
         synchronized与Lock在默认情况下是不会响应中断(interrupt)操作
    	 会继续执行完
    	 Reentranlock中的lockInterruptibly()方法提供了可中断锁来解决此问题
  • 相关阅读:
    shell_51.Linux获取用户输入_无显示读取,从文件中读取
    齐岳定制|TCO-PEG-Ovalbumin|反式环辛烯-聚乙二醇-卵清蛋白|TCO-PEG-卵清蛋白
    SpringBoot 代码混淆真香,再也不用担心反编译代码泄露...
    HTML5中表单提交的几种验证方法
    JMeter入门教程(13) --事务
    【护网急训2】帕鲁杯应急响应靶场
    java计算机毕业设计H5新冠防疫宣传网站设计与实现源码+数据库+系统+lw文档
    2024绿色能源、城市规划与环境国际会议(ICGESCE 2024)
    知识体系之Redis
    社区新零售:改变生活方式的创新商业模式
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/125549752
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号