Documentation for this section has not yet been entered.
Queries if this lock is held by the current thread.
Analogous to the Java.Lang.Thread.HoldsLock(Java.Lang.Object) method for built-in monitor locks, this method is typically used for debugging and testing. For example, a method that should only be called while a lock is held can assert that this is the case:
java Example
class X {
ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert lock.isHeldByCurrentThread();
// ... method body
}}It can also be used to ensure that a reentrant lock is used in a non-reentrant manner, for example:
java Example
class X {
ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert !lock.isHeldByCurrentThread();
lock.lock();
try {
// ... method body
finally {
lock.unlock();
}
}
}}