ReentrantLock.LockInterruptibly Método

Definición

Adquiere el bloqueo a menos que se interrumpa el subproceso actual.

[Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")]
public virtual void LockInterruptibly();
[<Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")>]
abstract member LockInterruptibly : unit -> unit
override this.LockInterruptibly : unit -> unit

Implementaciones

Atributos

Excepciones

si se interrumpe el subproceso actual

Comentarios

Adquiere el bloqueo a menos que se interrumpa el subproceso actual.

Adquiere el bloqueo si no lo mantiene otro subproceso y devuelve inmediatamente, estableciendo el recuento de bloqueos en uno.

Si el subproceso actual ya contiene este bloqueo, el recuento de suspensiones se incrementa en uno y el método devuelve inmediatamente.

Si otro subproceso mantiene el bloqueo, el subproceso actual se deshabilita con fines de programación de subprocesos y permanece inactivo hasta que se produzca una de estas dos cosas:

<ul>

<li>El bloqueo lo adquiere el subproceso actual; o

<li>Otros subprocesos Thread#interrupt interrumpen el subproceso actual.

</ul>

Si el subproceso actual adquiere el bloqueo, el recuento de bloqueos se establece en uno.

Si el subproceso actual:

<ul>

<li>tiene su estado interrumpido establecido en la entrada a este método; o

<li>es Thread#interrupt interrumpida al adquirir el bloqueo,

</ul>

a continuación InterruptedException , se produce y se borra el estado interrumpido del subproceso actual.

En esta implementación, dado que este método es un punto de interrupción explícito, se da preferencia a responder a la interrupción sobre la adquisición normal o reentrante del bloqueo.

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

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