码农知识堂 - 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()方法提供了可中断锁来解决此问题
  • 相关阅读:
    【手把手教你写Go】03.基本数据类型
    SpringBoot中15个常用启动扩展点,你用过几个?
    MySQL中存储引擎之间的对比
    Xcode自定义快捷键
    【2019】【论文笔记】基于石墨烯/TiO2/Si三层异质结的全光THz调制——
    JNA学习笔记一:概念
    conda config包含无效channel解决办法
    科普:分发文件软件(高人气爆款甄选)
    Redis高可用系列——List类型
    ai智能电话语音机器人,ai外呼机器人怎么用
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/125549752
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号