ReentrantLock.IsHeldByCurrentThread Propiedad

Definición

Consulta si el subproceso actual mantiene este bloqueo.

public virtual bool IsHeldByCurrentThread { [Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")] get; }
[<get: Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")>]
member this.IsHeldByCurrentThread : bool

Valor de propiedad

true si el subproceso actual contiene este bloqueo y false , de lo contrario,

Atributos

Comentarios

Consulta si el subproceso actual mantiene este bloqueo.

Análogo al Thread#holdsLock(Object) método para bloqueos de monitor integrados, este método se usa normalmente para la depuración y las pruebas. Por ejemplo, un método al que solo se debe llamar mientras se mantiene un bloqueo puede afirmar que este es el caso:

{@code
            class X {
              final ReentrantLock lock = new ReentrantLock();
              // ...

              public void m() {
                  assert lock.isHeldByCurrentThread();
                  // ... method body
              }
            }}

También se puede usar para asegurarse de que se usa un bloqueo reentrante de manera no reentrante, por ejemplo:

{@code
            class X {
              final ReentrantLock lock = new ReentrantLock();
              // ...

              public void m() {
                  assert !lock.isHeldByCurrentThread();
                  lock.lock();
                  try {
                      // ... method body
                  } finally {
                      lock.unlock();
                  }
              }
            }}

Java documentación para java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread().

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a