Lenguaje

ReentrantReadWriteLock.ReentrantWriteLock.LockInterruptibly Método

Definición

Adquiere el bloqueo de escritura 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 de escritura a menos que se interrumpa el subproceso actual.

Adquiere el bloqueo de escritura si ningún subproceso mantiene el bloqueo de lectura ni escritura y devuelve inmediatamente, estableciendo el recuento de bloqueos de escritura 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 de escritura lo adquiere el subproceso actual; o

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

</ul>

Si el subproceso actual adquiere el bloqueo de escritura, 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 de escritura,

</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.ReentrantReadWriteLock.WriteLock.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