ReentrantLock.IsHeldByCurrentThread 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
查询当前线程是否持有此锁。
public virtual bool IsHeldByCurrentThread { [Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")] get; }
[<get: Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")>]
member this.IsHeldByCurrentThread : bool
属性值
true 如果当前线程持有此锁, false 则为
- 属性
注解
查询当前线程是否持有此锁。
Thread#holdsLock(Object)与内置监视器锁的方法类似,此方法通常用于调试和测试。 例如,只有在持有锁时才应调用的方法可以断言这是这样:
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert lock.isHeldByCurrentThread();
// ... method body
}
}}
它还可用于确保以非重新进入方式使用重新进入锁,例如:
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert !lock.isHeldByCurrentThread();
lock.lock();
try {
// ... method body
} finally {
lock.unlock();
}
}
}}
Java文档java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread()。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。