CyclicBarrier.Await Método

Definición

Sobrecargas

Nombre Description
Await()

Espera hasta que todas las partes #getParties hayan invocado await en esta barrera.

Await(Int64, TimeUnit)

Espera hasta que todas las partes de #getParties hayan invocado await en esta barrera o el tiempo de espera especificado transcurre.

Await()

Espera hasta que todas las partes #getParties hayan invocado await en esta barrera.

[Android.Runtime.Register("await", "()I", "GetAwaitHandler")]
public virtual int Await();
[<Android.Runtime.Register("await", "()I", "GetAwaitHandler")>]
abstract member Await : unit -> int
override this.Await : unit -> int

Devoluciones

el índice de llegada del subproceso actual, donde índice getParties() - 1 indica el primero que debe llegar y cero indica el último que llegar.

Atributos

Excepciones

si se interrumpió el subproceso actual mientras se esperaba

si se interrumpió o se agotó el tiempo de espera de otro subproceso mientras el subproceso actual estaba esperando, o la barrera se restableció o se interrumpió la barrera cuando await se llamó o se produjo un error en la acción de barrera (si está presente) debido a una excepción.

Comentarios

Espera hasta que todas las partes #getParties hayan invocado await en esta barrera.

Si el subproceso actual no es el último en llegar, se deshabilita con fines de programación de subprocesos y permanece inactivo hasta que se produce una de las siguientes cosas: ul>li El último subproceso llega; o <li Otros subprocesos Thread#interrupt interrumpen el subproceso actual; o>< li Otros subprocesos en espera de barrera; o><< li>>Otros subprocesos.><<#reset invoca en esta barrera. </ul>

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 espera </ul>, InterruptedException se produce y se borra el estado interrumpido del subproceso actual.

Si la barrera está #reset mientras algún subproceso está esperando, o si la barrera #isBroken se interrumpe cuando await se invoca o mientras cualquier subproceso está esperando, BrokenBarrierException se produce.

Si algún subproceso es Thread#interrupt interrumpido mientras espera, se producirán BrokenBarrierException todos los demás subprocesos en espera y la barrera se colocará en estado roto.

Si el subproceso actual es el último subproceso que se va a llegar y se proporcionó una acción de barrera no nula en el constructor, el subproceso actual ejecuta la acción antes de permitir que los otros subprocesos continúen. Si se produce una excepción durante la acción de barrera, esa excepción se propagará en el subproceso actual y la barrera se colocará en estado roto.

Java documentación para java.util.concurrent.CyclicBarrier.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)

Espera hasta que todas las partes de #getParties hayan invocado await en esta barrera o el tiempo de espera especificado transcurre.

[Android.Runtime.Register("await", "(JLjava/util/concurrent/TimeUnit;)I", "GetAwait_JLjava_util_concurrent_TimeUnit_Handler")]
public virtual int Await(long timeout, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("await", "(JLjava/util/concurrent/TimeUnit;)I", "GetAwait_JLjava_util_concurrent_TimeUnit_Handler")>]
abstract member Await : int64 * Java.Util.Concurrent.TimeUnit -> int
override this.Await : int64 * Java.Util.Concurrent.TimeUnit -> int

Parámetros

timeout
Int64

el tiempo de espera de la barrera

unit
TimeUnit

la unidad de tiempo del parámetro de tiempo de espera

Devoluciones

el índice de llegada del subproceso actual, donde índice getParties() - 1 indica el primero que debe llegar y cero indica el último que llegar.

Atributos

Excepciones

si se interrumpió el subproceso actual mientras se esperaba

si transcurre el tiempo de espera especificado

si se interrumpió o se agotó el tiempo de espera de otro subproceso mientras el subproceso actual estaba esperando, o la barrera se restableció o se interrumpió la barrera cuando await se llamó o se produjo un error en la acción de barrera (si está presente) debido a una excepción.

Comentarios

Espera hasta que todas las partes de #getParties hayan invocado await en esta barrera o el tiempo de espera especificado transcurre.

Si el subproceso actual no es el último en llegar, se deshabilita con fines de programación de subprocesos y permanece inactivo hasta que se produzca una de las siguientes cosas: ul>li El último subproceso llega; o <li El tiempo de espera especificado transcurre; o <li>Otros subprocesos Thread#interrupt interrumpen el subproceso actual; o <li>Otros subprocesos subprocesos en espera interrumpen uno de los otros subprocesos en espera; o <li>>><<Otros subprocesos agota el tiempo de espera mientras se espera la barrera; o <li>Algunas otras invocaciones de subproceso #reset en esta barrera. </ul>

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 espera </ul>, InterruptedException se produce y se borra el estado interrumpido del subproceso actual.

Si transcurre el tiempo de espera especificado, TimeoutException se produce . Si el tiempo es menor o igual que cero, el método no esperará en absoluto.

Si la barrera está #reset mientras algún subproceso está esperando, o si la barrera #isBroken se interrumpe cuando await se invoca o mientras cualquier subproceso está esperando, BrokenBarrierException se produce.

Si algún subproceso es Thread#interrupt interrumpido mientras espera, se producirán BrokenBarrierException todos los demás subprocesos en espera y la barrera se colocará en estado roto.

Si el subproceso actual es el último subproceso que se va a llegar y se proporcionó una acción de barrera no nula en el constructor, el subproceso actual ejecuta la acción antes de permitir que los otros subprocesos continúen. Si se produce una excepción durante la acción de barrera, esa excepción se propagará en el subproceso actual y la barrera se colocará en estado roto.

Java documentación para java.util.concurrent.CyclicBarrier.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