Condividi tramite


TimeUnit.TimedWait(Object, Int64) Metodo

Definizione

Esegue un timed Object#wait(long, int) Object.wait utilizzando questa unità di tempo.

[Android.Runtime.Register("timedWait", "(Ljava/lang/Object;J)V", "")]
public void TimedWait (Java.Lang.Object? obj, long timeout);
[<Android.Runtime.Register("timedWait", "(Ljava/lang/Object;J)V", "")>]
member this.TimedWait : Java.Lang.Object * int64 -> unit

Parametri

obj
Object

l'oggetto da attendere

timeout
Int64

tempo massimo di attesa. Se minore o uguale a zero, non attendere affatto.

Attributi

Eccezioni

se interrotto durante l'attesa

Commenti

Esegue un timed Object#wait(long, int) Object.wait utilizzando questa unità di tempo. Si tratta di un metodo pratico che converte gli argomenti di timeout nel formato richiesto dal Object.wait metodo .

Ad esempio, è possibile implementare un metodo di blocco poll (vedere BlockingQueue#poll(long, TimeUnit) BlockingQueue.poll) usando:

{@code
            public E poll(long timeout, TimeUnit unit)
                throws InterruptedException {
              synchronized (lock) {
                while (isEmpty()) {
                  unit.timedWait(lock, timeout);
                  ...
                }
              }
            }}

Documentazione java per java.util.concurrent.TimeUnit.timedWait(java.lang.Object, long).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a