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()。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。