ICondition.Await Método

Definição

Sobrecargas

Nome Description
Await()

Faz com que o thread atual aguarde até que ele seja sinalizado ou a interrupção do Thread#interrupt.

Await(Int64, TimeUnit)

Faz com que o thread atual aguarde até ser sinalizado ou interrompido ou o tempo de espera especificado decorrido.

Await()

Faz com que o thread atual aguarde até que ele seja sinalizado ou a interrupção do Thread#interrupt.

[Android.Runtime.Register("await", "()V", "GetAwaitHandler:Java.Util.Concurrent.Locks.IConditionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public void Await();
[<Android.Runtime.Register("await", "()V", "GetAwaitHandler:Java.Util.Concurrent.Locks.IConditionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Await : unit -> unit
Atributos

Exceções

se o thread atual for interrompido (e houver suporte para a interrupção da suspensão de thread)

Comentários

Faz com que o thread atual aguarde até que ele seja sinalizado ou a interrupção do Thread#interrupt.

O bloqueio associado a isso Condition é liberado atomicamente e o thread atual fica desabilitado para fins de agendamento de thread e fica inativo até <que um<>/em> de quatro coisas aconteça: <ul<>li>Algum outro thread invoca o #signal método para isso Condition e o thread atual passa a ser escolhido como o thread a ser despertado; ou <li>Algum outro thread invoca o #signalAll método para issoCondition; ou <li>Alguns outros threads#interrupt interrompem o thread atual e há suporte para a interrupção da suspensão de thread; ou <li>A "<ocorre em>wakeup</em>" espúrio. </ul>

Em todos os casos, antes que esse método possa retornar, o thread atual deve adquirir novamente o bloqueio associado a essa condição. Quando o thread retorna, ele é <>garantido</em> para manter esse bloqueio.

Se o thread atual: <ul><li>tem seu status interrompido definido na entrada para este método; ou <li>é thread#interrupção interrompida enquanto espera e interrupção da suspensão de thread é suportado, </ul> então InterruptedException é gerado e o status interrompido do thread atual é limpo. Não é especificado, no primeiro caso, se o teste para interrupção ocorre ou não antes do bloqueio ser liberado.

<b>Considerações< de implementação/b>

Supõe-se que o thread atual mantenha o bloqueio associado a isso Condition quando esse método é chamado. Cabe à implementação determinar se esse é o caso e, se não, como responder. Normalmente, uma exceção será gerada (como IllegalMonitorStateException) e a implementação deve documentar esse fato.

Uma implementação pode favorecer a resposta a uma interrupção sobre o retorno do método normal em resposta a um sinal. Nesse caso, a implementação deve garantir que o sinal seja redirecionado para outro thread de espera, se houver um.

Documentação Java para java.util.concurrent.locks.Condition.await().

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

Await(Int64, TimeUnit)

Faz com que o thread atual aguarde até ser sinalizado ou interrompido ou o tempo de espera especificado decorrido.

[Android.Runtime.Register("await", "(JLjava/util/concurrent/TimeUnit;)Z", "GetAwait_JLjava_util_concurrent_TimeUnit_Handler:Java.Util.Concurrent.Locks.IConditionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public bool Await(long time, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("await", "(JLjava/util/concurrent/TimeUnit;)Z", "GetAwait_JLjava_util_concurrent_TimeUnit_Handler:Java.Util.Concurrent.Locks.IConditionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Await : int64 * Java.Util.Concurrent.TimeUnit -> bool

Parâmetros

time
Int64

o tempo máximo de espera

unit
TimeUnit

a unidade de tempo do time argumento

Retornos

false se o tempo de espera tiver decorrido detectavelmente antes de retornar do método, caso contrário, true

Atributos

Exceções

se o thread atual for interrompido (e houver suporte para a interrupção da suspensão de thread)

Comentários

Faz com que o thread atual aguarde até ser sinalizado ou interrompido ou o tempo de espera especificado decorrido. Esse método é comportamentalmente equivalente a:

{@code awaitNanos(unit.toNanos(time)) > 0}

Documentação Java para java.util.concurrent.locks.Condition.await(long, java.util.concurrent.TimeUnit).

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