ILock.LockInterruptibly Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adquire o bloqueio, a menos que o thread atual seja Thread#interrupt interrompido.
[Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler:Java.Util.Concurrent.Locks.ILockInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void LockInterruptibly ();
[<Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler:Java.Util.Concurrent.Locks.ILockInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member LockInterruptibly : unit -> unit
- Atributos
Exceções
se o thread atual for interrompido durante a aquisição do bloqueio (e a interrupção da aquisição do bloqueio for suportada)
Comentários
Adquire o bloqueio, a menos que o thread atual seja Thread#interrupt interrompido.
Adquire o cadeado se ele estiver disponível e retorna imediatamente.
Se o bloqueio não estiver disponível, o thread atual será desabilitado para fins de agendamento de thread e ficará inativo até que uma das duas coisas aconteça:
<><ul li>O bloqueio é adquirido pelo thread atual; ou <li>Algum outro thread Thread#interrupt interrompe o thread atual, e a interrupção da aquisição de bloqueio é suportada. </ul>
Se o thread atual: <ul><li>tiver seu status interrompido definido na entrada deste método, ou <li>for Thread#interrupt interrompido durante a aquisição do bloqueio, e a interrupção da aquisição do bloqueio for suportada, </ul> então InterruptedException
será lançado e o status interrompido do thread atual será limpo.
<b>Considerações< sobre a implementação/b>
A capacidade de interromper uma aquisição de bloqueio em algumas implementações pode não ser possível e, se possível, pode ser uma operação cara. O programador deve estar ciente de que este pode ser o caso. Uma implementação deve documentar quando esse é o caso.
Uma implementação pode favorecer a resposta a uma interrupção em vez do retorno normal do método.
Uma Lock
implementação pode ser capaz de detectar o uso errôneo do bloqueio, como uma invocação que causaria deadlock, e pode lançar uma exceção (não verificada) em tais circunstâncias. As circunstâncias e o tipo de exceção devem ser documentados por essa Lock
implementação.
Documentação Java para java.util.concurrent.locks.Lock.lockInterruptibly()
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.