ReentrantLock.IsHeldByCurrentThread Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Fragt ab, ob diese Sperre vom aktuellen Thread gehalten wird.
public virtual bool IsHeldByCurrentThread { [Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")] get; }
[<get: Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")>]
member this.IsHeldByCurrentThread : bool
Eigenschaftswert
true wenn der aktuelle Thread diese Sperre enthält und false andernfalls
- Attribute
Hinweise
Fragt ab, ob diese Sperre vom aktuellen Thread gehalten wird.
Analog zur Methode für integrierte Monitorsperren wird diese Methode in der Thread#holdsLock(Object) Regel zum Debuggen und Testen verwendet. Beispielsweise kann eine Methode, die nur aufgerufen werden soll, während eine Sperre gehalten wird, bestätigen, dass dies der Fall ist:
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert lock.isHeldByCurrentThread();
// ... method body
}
}}
Es kann auch verwendet werden, um sicherzustellen, dass eine erneute Sperre auf nicht wiederholte Weise verwendet wird, z. B.:
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert !lock.isHeldByCurrentThread();
lock.lock();
try {
// ... method body
} finally {
lock.unlock();
}
}
}}
Java Dokumentation für java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread().
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.