ReentrantReadWriteLock.ReentrantWriteLock.LockInterruptibly Método

Definição

Adquire o bloqueio de gravação, a menos que o thread atual seja Thread#interrupt interrompido.

[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

Implementações

Atributos

Exceções

se o thread atual for interrompido

Comentários

Adquire o bloqueio de gravação, a menos que o thread atual seja Thread#interrupt interrompido.

Adquire o bloqueio de gravação se o bloqueio de leitura ou gravação não for mantido por outro thread e retornar imediatamente, definindo a contagem de bloqueio de gravação como um.

Se o thread atual já mantiver esse bloqueio, a contagem de retenção será incrementada por um e o método retornará imediatamente.

Se o bloqueio for mantido por outro thread, o thread atual ficará desabilitado para fins de agendamento de thread e ficará inativo até que uma das duas coisas aconteça:

<ul>

<li>O bloqueio de gravação é adquirido pelo thread atual; ou

<li>Algum outro thread#interrupt interrompe o thread atual.

</ul>

Se o bloqueio de gravação for adquirido pelo thread atual, a contagem de retenção de bloqueio será definida como um.

Se o thread atual:

<ul>

<li>tem seu status interrompido definido na entrada para este método; ou

<li>é Thread#interrupt interrompido durante a aquisição do bloqueio de gravação,

</ul>

em seguida, InterruptedException é gerado e o status interrompido do thread atual é limpo.

Nessa implementação, como esse método é um ponto de interrupção explícito, a preferência é dada para responder à interrupção sobre a aquisição normal ou reentrada do bloqueio.

Java documentação para java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock.lockInterruptibly().

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a