java命名空间java.util.concurrent.locks类reentrantlock的类成员方法:
isheldbycurrentthread定义及介绍
本文导语:
isheldbycurrentthread
public boolean isheldbycurrentthread()
查询当前线程是否保持此锁。
与内置监视器锁的 thread.holdslock(java.lang.object) 方法类似,此方法通常用于调试和测试。例如,只在保持某个锁时才应调用的方法可以声明如下:
c...
isheldbycurrentthread
public boolean isheldbycurrentthread()
- 查询当前线程是否保持此锁。
与内置监视器锁的 thread.holdslock(java.lang.object)
方法类似,此方法通常用于调试和测试。例如,只在保持某个锁时才应调用的方法可以声明如下:
class x {
reentrantlock lock = new reentrantlock();
// ...
public void m() {
assert lock.isheldbycurrentthread();
// ... method body
}
}
还可以用此方法来确保某个重入锁是否以非重入方式使用的,例如:
class x {
reentrantlock lock = new reentrantlock();
// ...
public void m() {
assert !lock.isheldbycurrentthread();
lock.lock();
try {
// ... method body
} finally {
lock.unlock();
}
}
}
- 返回:
- 如果当前线程保持此锁,则返回
true
;否则返回 false