当前位置: 首页 > 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

相关文章:

  • IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡
  • Linux服务器网络不通问题排查及常用命令使用
  • c++类和对象---上
  • 【Go学习】-02-1-标准库:fmt、os、time
  • Pytorch学习12_最大池化的使用
  • 数据库回滚:大祸临头时
  • 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修改默认的存储路径