Langue

CyclicBarrier.Await Méthode

Définition

Surcharges

Nom Description
Await()

Attend que toutes les parties #getParties aient appelé await sur cette barrière.

Await(Int64, TimeUnit)

Attend que toutes les parties #getParties aient appelé await sur cette barrière, ou que le temps d’attente spécifié s’écoule.

Await()

Attend que toutes les parties #getParties aient appelé await sur cette barrière.

[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

Retours

l’index d’arrivée du thread actuel, où l’index getParties() - 1 indique le premier à arriver et zéro indique le dernier à arriver

Attributs

Exceptions

si le thread actuel a été interrompu pendant l’attente

si un autre thread a été interrompu ou expiré pendant l’attente du thread actuel, ou si la barrière a été réinitialisée, ou si la barrière a été interrompue lorsqu’elle await a été appelée ou que l’action de barrière (le cas échéant) a échoué en raison d’une exception

Remarques

Attend que toutes les parties #getParties aient appelé await sur cette barrière.

Si le thread actuel n’est pas le dernier à arriver, il est désactivé à des fins de planification de threads et se trouve dormant jusqu’à ce que l’un des autres threads se produise : ul>li Le dernier thread arrive ; ou <li>Un autre thread thread#interruption interrompt le thread actif ; ou <li Un autre thread thread#interruption interrompt l’un des autres threads en attente ; ou <li>Un autre thread expire pendant l’attente de barrière ; ou li Un autre thread thread est en attente de barrière ; ou <li>>Un autre thread thread><<#reset appelle sur cette barrière. </ul>

Si le thread actuel : <ul><li>a son état interrompu défini sur l’entrée de cette méthode ; ou <li>is Thread#interruption interrompu lors de l’attente </ul> , puis InterruptedException est levée et l’état interrompu du thread actuel est effacé.

Si la barrière est #reset en attente d’un thread ou si la barrière #isBroken est rompue lorsqu’elle await est appelée, ou pendant qu’un thread est en attente, il BrokenBarrierException est levée.

Si un thread est interrompu lors de l’attente, tous les autres threads en attente lèvent BrokenBarrierException et la barrière est placée dans l’état rompu.

Si le thread actuel est le dernier thread à arriver et qu’une action de barrière non null a été fournie dans le constructeur, le thread actuel exécute l’action avant d’autoriser les autres threads à continuer. Si une exception se produit pendant l’action de barrière, cette exception est propagée dans le thread actuel et la barrière est placée dans l’état rompu.

Documentation Java pour java.util.concurrent.CyclicBarrier.await().

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à

Await(Int64, TimeUnit)

Attend que toutes les parties #getParties aient appelé await sur cette barrière, ou que le temps d’attente spécifié s’écoule.

[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

Paramètres

timeout
Int64

le temps d’attendre la barrière

unit
TimeUnit

unité de temps du paramètre timeout

Retours

l’index d’arrivée du thread actuel, où l’index getParties() - 1 indique le premier à arriver et zéro indique le dernier à arriver

Attributs

Exceptions

si le thread actuel a été interrompu pendant l’attente

si le délai d’expiration spécifié est écoulé

si un autre thread a été interrompu ou expiré pendant l’attente du thread actuel, ou si la barrière a été réinitialisée, ou si la barrière a été interrompue lorsqu’elle await a été appelée ou que l’action de barrière (le cas échéant) a échoué en raison d’une exception

Remarques

Attend que toutes les parties #getParties aient appelé await sur cette barrière, ou que le temps d’attente spécifié s’écoule.

Si le thread actuel n’est pas le dernier à arriver, il est désactivé à des fins de planification de threads et se trouve dormant jusqu’à ce que l’une des choses suivantes se produise : ul>li Le dernier thread arrive ; ou <li>Le délai d’expiration spécifié s’écoule ; ou <li Un autre thread Thread#interruption interrompt le thread actuel ; ou <li>Un autre thread Thread#interruption interrompt l’un des autres threads en attente ; ou <li Li>>><<D’autres threads expirent en attendant la barrière ; ou <li>Un autre thread appelle #reset sur cette barrière. </ul>

Si le thread actuel : <ul><li>a son état interrompu défini sur l’entrée de cette méthode ; ou <li>is Thread#interruption interrompu lors de l’attente </ul> , puis InterruptedException est levée et l’état interrompu du thread actuel est effacé.

Si le temps d’attente spécifié s’écoule, TimeoutException il est levée. Si le temps est inférieur ou égal à zéro, la méthode n’attend pas du tout.

Si la barrière est #reset en attente d’un thread ou si la barrière #isBroken est rompue lorsqu’elle await est appelée, ou pendant qu’un thread est en attente, il BrokenBarrierException est levée.

Si un thread est interrompu lors de l’attente, tous les autres threads en attente lèvent BrokenBarrierException et la barrière est placée dans l’état rompu.

Si le thread actuel est le dernier thread à arriver et qu’une action de barrière non null a été fournie dans le constructeur, le thread actuel exécute l’action avant d’autoriser les autres threads à continuer. Si une exception se produit pendant l’action de barrière, cette exception est propagée dans le thread actuel et la barrière est placée dans l’état rompu.

Documentation Java pour java.util.concurrent.CyclicBarrier.await(long, java.util.concurrent.TimeUnit).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.

S’applique à