Lingua

CyclicBarrier.Await Metodo

Definizione

Overload

Nome Descrizione
Await()

Attende che tutte le #getParties parti abbiano richiamato await su questa barriera.

Await(Int64, TimeUnit)

Attende che tutte le #getParties parti abbiano richiamato await su questa barriera o che il tempo di attesa specificato sia trascorso.

Await()

Attende che tutte le #getParties parti abbiano richiamato await su questa barriera.

[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

Valori restituiti

l'indice di arrivo del thread corrente, dove indice getParties() - 1 indica il primo per arrivare e zero indica l'ultimo arrivo

Attributi

Eccezioni

se il thread corrente è stato interrotto durante l'attesa

se un altro thread è stato interrotto o si è verificato un timeout durante l'attesa del thread corrente o la barriera è stata reimpostata o la barriera è stata interrotta quando await è stata chiamata o l'azione della barriera (se presente) non è riuscita a causa di un'eccezione

Commenti

Attende che tutte le #getParties parti abbiano richiamato await su questa barriera.

Se il thread corrente non è l'ultimo ad arrivare, viene disabilitato a scopo di pianificazione dei thread e giace inattivo fino a quando non si verifica una delle seguenti cose: ul>li L'ultimo thread arriva; o <li>Qualche altro thread Thread#interrupt interrompe il thread corrente; o <Li>Qualche altro thread Thread#interrupt interrompe uno degli altri thread in attesa; o>< Altri thread timeout durante l'attesa di barriera; o <Altri>thread><<#reset richiama su questa barriera. </ul>

Se il thread corrente: <ul><li>ha lo stato interrotto impostato sulla voce di questo metodo oppure <li>è Thread#interrupt interrotto durante l'attesa </ul> , InterruptedException viene generato e lo stato interrotto del thread corrente viene cancellato.

Se la barriera è #reset in attesa di qualsiasi thread o se la barriera #isBroken viene interrotta quando await viene richiamata o mentre un thread è in attesa, BrokenBarrierException viene generato.

Se un thread è Thread#interrupt interrotto durante l'attesa, tutti gli altri thread in attesa genereranno BrokenBarrierException e la barriera viene posizionata nello stato interrotto.

Se il thread corrente è l'ultimo thread da raggiungere e nel costruttore è stata fornita un'azione barriera non Null, il thread corrente esegue l'azione prima di consentire l'esecuzione degli altri thread. Se si verifica un'eccezione durante l'azione della barriera, tale eccezione verrà propagata nel thread corrente e la barriera viene posizionata nello stato interrotto.

per java.util.concurrent.CyclicBarrier.await().

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a

Await(Int64, TimeUnit)

Attende che tutte le #getParties parti abbiano richiamato await su questa barriera o che il tempo di attesa specificato sia trascorso.

[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

Parametri

timeout
Int64

il tempo di attesa per la barriera

unit
TimeUnit

unità di tempo del parametro di timeout

Valori restituiti

l'indice di arrivo del thread corrente, dove indice getParties() - 1 indica il primo per arrivare e zero indica l'ultimo arrivo

Attributi

Eccezioni

se il thread corrente è stato interrotto durante l'attesa

se il timeout specificato è trascorso

se un altro thread è stato interrotto o si è verificato un timeout durante l'attesa del thread corrente o la barriera è stata reimpostata o la barriera è stata interrotta quando await è stata chiamata o l'azione della barriera (se presente) non è riuscita a causa di un'eccezione

Commenti

Attende che tutte le #getParties parti abbiano richiamato await su questa barriera o che il tempo di attesa specificato sia trascorso.

Se il thread corrente non è l'ultimo ad arrivare, viene disabilitato per scopi di pianificazione dei thread e giace inattivo fino a quando non si verifica una delle operazioni seguenti: ul>li L'ultimo thread arriva; o <li>Il timeout specificato è trascorso; o <Li>Qualche altro thread Thread#interrupt interrompe il thread corrente; o <altri>thread Thread#interrupt interrompe uno degli altri thread in attesa; o <li>><<Un altro thread si verifica durante l'attesa della barriera; o <li>Altri thread richiamano #reset su questa barriera. </ul>

Se il thread corrente: <ul><li>ha lo stato interrotto impostato sulla voce di questo metodo oppure <li>è Thread#interrupt interrotto durante l'attesa </ul> , InterruptedException viene generato e lo stato interrotto del thread corrente viene cancellato.

Se il tempo di attesa specificato è trascorso, TimeoutException viene generato . Se l'ora è minore o uguale a zero, il metodo non attenderà affatto.

Se la barriera è #reset in attesa di qualsiasi thread o se la barriera #isBroken viene interrotta quando await viene richiamata o mentre un thread è in attesa, BrokenBarrierException viene generato.

Se un thread è Thread#interrupt interrotto durante l'attesa, tutti gli altri thread in attesa genereranno BrokenBarrierException e la barriera viene posizionata nello stato interrotto.

Se il thread corrente è l'ultimo thread da raggiungere e nel costruttore è stata fornita un'azione barriera non Null, il thread corrente esegue l'azione prima di consentire l'esecuzione degli altri thread. Se si verifica un'eccezione durante l'azione della barriera, tale eccezione verrà propagata nel thread corrente e la barriera viene posizionata nello stato interrotto.

per java.util.concurrent.CyclicBarrier.await(long, java.util.concurrent.TimeUnit).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a