Langage

ReentrantLock.IsHeldByCurrentThread Propriété

Définition

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.

S’applique à