CyclicBarrier.Await Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Await() |
Attende che tutte le #getParties parti abbiano richiamato |
| Await(Int64, TimeUnit) |
Attende che tutte le #getParties parti abbiano richiamato |
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.