码农知识堂 - 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()方法提供了可中断锁来解决此问题
  • 相关阅读:
    Docker部署和全部命令
    Python从入门到放弃系列教程01
    如何用 vscode 捞出还未国际化的中文词条
    强化学习-DDPG算法
    b站黑马JavaScript的Ajax案例代码——评论列表案例
    【计算机网络笔记】网络应用对传输服务的需求
    python-测试代码
    景区门票小程序怎么制作?
    postgresql-字符函数
    D1. 388535 (Easy Version)(异或+二进制位)
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/125549752
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号