ReentrantLock.LockInterruptibly Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.