当前位置: 首页 > article >正文

Java面试篇基础部分-ReentrantLock详解(二)

在这里插入图片描述

Lock 接口的主要方法在这里插入图片描述

  • void lock():给对象加锁,如果锁没有被其他线程使用,则当前线程获取到这个锁;如果锁正在被其他线程持有,则将禁用当前线程,直到当前线程获取到锁。
  • boolean tryLock():试图给对象进行加锁操作,如果锁没有被其他线程使用,则将获取到这个锁并且返回true,否则返回false。tryLock()和lock() 的区别就是在
  • tryLock() 只是在试图获取到锁,如果没有可用锁,就会立即返回。lock()在锁不可用的时候会一直等待,直到获取到可用锁。
  • boolean tryLock(long time, TimeUnit unit) throws InterruptedException;创建定时锁,如果在给定的等待时间内有可用锁,则获取该锁。
  • void unlock(); 释放当前线程所持有的锁,并且锁只能由持有者进行释放,如果当前线程并不是持有该锁的方法,就会抛出异常
  • Condition newCondition(); 创建条件对象,获取等待通知组件。这个组件与当前的锁进行绑定,当前线程只有获取到了锁才能调

http://www.kler.cn/a/314914.html

相关文章:

  • 【学习】Fine-tuning知识汇总
  • INQUIRE:一个包含五百万张自然世界图像,涵盖10,000个不同物种的专为专家级文本到图像检索任务设计的新型基准数据集。
  • 使用pdfjs加载多页pdf并实现打印
  • 万字长文分析函数式编程
  • LeetCode【0031】下一个排列
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十三:将AVFrame转换成AVPacket。视频编码原理.编码相关api
  • 2024最新!!!iOS高级面试题,全!(二)
  • 深度学习对抗海洋赤潮危机!浙大GIS实验室提出ChloroFormer模型,可提前预警海洋藻类爆发
  • Vue3 中组件传递 + css 变量的组合
  • 深度学习03-神经网络01-什么是神经网络?
  • QT快速安装使用指南
  • OpenHarmony(鸿蒙南向开发)——小型系统芯片移植指南(二)
  • 安全热点问题
  • NCNN 源码(1)-模型加载-数据预处理-模型推理
  • MySQL深入原理
  • 【数学分析笔记】第3章第3节无穷小量与无穷大量的阶(2)
  • 国标GB28181视频融合监控汇聚平台的方案实现及场景应用
  • 机器学习和深度学习的区别:从基础到前沿
  • 35. 模型材质和几何体属性
  • Mapper核心配置文件
  • uniapp 整合 OpenLayer3
  • C++速通LeetCode中等第4题-三数之和
  • 本地快速部署一个简洁美观的个人Halo博客网站并发布公网远程访问
  • 20240918软考架构-------软考171-175答案解析
  • 数字IC设计\FPGA 职位经典笔试面试整理--语法篇 Verilog System Verilog(部分)
  • Docker修改默认的存储路径