Lenguaje

ICondition.Await Método

Definición

Sobrecargas

Nombre Description
Await()

Hace que el subproceso actual espere hasta que se indique o se interrumpa Thread#interrupt.

Await(Int64, TimeUnit)

Hace que el subproceso actual espere hasta que se señale o se interrumpa, o el tiempo de espera especificado transcurre.

Await()

Hace que el subproceso actual espere hasta que se indique o se interrumpa 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

Excepciones

si se interrumpe el subproceso actual (y se admite la interrupción de la suspensión del subproceso)

Comentarios

Hace que el subproceso actual espere hasta que se indique o se interrumpa Thread#interrupt.

El bloqueo asociado a esto Condition se libera atómicamente y el subproceso actual se deshabilita para fines de programación de subprocesos y se encuentra inactivo hasta <que se produzcan em>uno</em> de cuatro cosas: <ul><li>Otros subprocesos invocan el #signal método para esto Condition y el subproceso actual se elige como subproceso que se va a despertar; o <li>Otros subprocesos invocan el #signalAll método para este Condition; o <li>Otros subprocesos Thread#interrupt interrumpen el subproceso actual y se admite la interrupción de la suspensión del subproceso; o <li>A "<em>espurios wakeup</em>" se produce. </ul>

En todos los casos, antes de que este método pueda devolver el subproceso actual debe volver a adquirir el bloqueo asociado a esta condición. Cuando el subproceso devuelve, se <>garantiza</em> para mantener este bloqueo.

Si el subproceso actual: ul<li tiene su estado interrumpido establecido en la entrada a este método; o >li<es Thread#interrupt interrumpida mientras se admite la espera e interrupción de la suspensión del subproceso, >se produce /ul <> y se borra el estado interrumpido del subproceso actual.<>InterruptedException No se especifica, en el primer caso, si se produce o no la prueba de interrupción antes de que se libere el bloqueo.

<b>Consideraciones de< implementación/b>

Se supone que el subproceso actual contiene el bloqueo asociado a este Condition cuando se llama a este método. Es necesario que la implementación determine si este es el caso y, si no es así, cómo responder. Normalmente, se producirá una excepción (como IllegalMonitorStateException) y la implementación debe documentar ese hecho.

Una implementación puede favorecer la respuesta a una interrupción sobre el retorno del método normal en respuesta a una señal. En ese caso, la implementación debe asegurarse de que la señal se redirige a otro subproceso en espera, si hay uno.

Documentación de Java para java.util.concurrent.locks.Condition.await().

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

Await(Int64, TimeUnit)

Hace que el subproceso actual espere hasta que se señale o se interrumpa, o el tiempo de espera especificado transcurre.

[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

tiempo máximo de espera

unit
TimeUnit

la unidad de tiempo del time argumento

Devoluciones

false si el tiempo de espera transcurrido de forma detectable antes de volver desde el método , en caso contrario true

Atributos

Excepciones

si se interrumpe el subproceso actual (y se admite la interrupción de la suspensión del subproceso)

Comentarios

Hace que el subproceso actual espere hasta que se señale o se interrumpa, o el tiempo de espera especificado transcurre. Este método es equivalente a:

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

Documentación de Java para java.util.concurrent.locks.Condition.await(long, java.util.concurrent.TimeUnit).

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