Java多线程相关知识【39】--并发包用法--ReentrantLock

本文介绍了Java多线程中ReentrantLock的使用,包括它的简介和主要方法。ReentrantLock作为锁的一种高级实现,提供了比synchronized更灵活的管理操作。
摘要由CSDN通过智能技术生成


菜鸟的一个学习笔记,欢迎大神 批评指正

Java多线程相关知识【39】–并发包用法–ReentrantLock

1.简介

在锁的基础上,提供了一些管理者的操作。

2.相关用法

构造函数

ReentrantLock();//声明一个锁
ReentrantLock(boolean fair);//声明一个锁,并保证其公平性

相关方法

返回类型方法说明
intgetHoldCount()在使用锁的线程内获取正在等待的线程个数
protected ThreadgetOwner()返回正在使用本锁的线程
protected CollectiongetQueuedThreads()返回正在等待本锁的线程
intgetQueueLength()返回正在等锁的线程的个数
protected CollectiongetWaitingThreads(Condition condition)查看在一定条件下获取给定集合使用本锁的等待的线程
intgetWaitQueueLength(Condition condition)查看在一定条件下获取给定集合使用本锁的等待的线程的个数
booleanhasQueuedThread(Thread thread)查看等待的队列中是否存在线程
booleanhasQueuedThreads()询问锁队列中是否有本线程
booleanhasWaiters(Condition condition)查看在一定条件下是否存在等待的线程
booleanisFair()是否做到尽量的公平
booleanisHeldByCurrentThread()当前线程是否为获得锁的对象
booleanisLocked()这个锁是否在使用
voidlock()进行锁的申请
voidlockInterruptibly()可被中断的锁
ConditionnewCondition()返回当前使用本锁的线程的状况
StringtoString()返回锁状态信息的描述
booleantryLock()尝试进行锁的申请
booleantryLock(long timeout, TimeUnit unit)尝试进行锁的申请,并等待一定时间
voidunlock()解锁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值