ReentrantLock.IsHeldByCurrentThread Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Interroge si ce verrou est conservé par le thread actuel.
public virtual bool IsHeldByCurrentThread { [Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")] get; }
[<get: Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")>]
member this.IsHeldByCurrentThread : bool
Valeur de propriété
true si le thread actuel contient ce verrou et false sinon
- Attributs
Remarques
Interroge si ce verrou est conservé par le thread actuel.
Analogue à la Thread#holdsLock(Object) méthode pour les verrous de moniteur intégrés, cette méthode est généralement utilisée pour le débogage et le test. Par exemple, une méthode qui ne doit être appelée que pendant qu’un verrou est conservé peut affirmer que c’est le cas :
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert lock.isHeldByCurrentThread();
// ... method body
}
}}
Il peut également être utilisé pour s’assurer qu’un verrou de reentrant est utilisé de manière non réentrante, par exemple :
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert !lock.isHeldByCurrentThread();
lock.lock();
try {
// ... method body
} finally {
lock.unlock();
}
}
}}
Java documentation pour java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread().
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.