Поделиться через


TimeUnit.TimedWait(Object, Int64) Метод

Определение

Выполняет время, указанное Object#wait(long, int) Object.wait в этом уроке времени.

[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

Параметры

obj
Object

Объект для ожидания

timeout
Int64

максимальное время ожидания. Если меньше или равно нулю, не подождите вообще.

Атрибуты

Исключения

Значение ,если прервано во время ожидания

Комментарии

Выполняет время, указанное Object#wait(long, int) Object.wait в этом уроке времени. Это удобный метод, который преобразует аргументы времени ожидания в форму, необходимую методом Object.wait .

Например, можно реализовать метод блокировки poll (см. в следующих статьях BlockingQueue#poll(long, TimeUnit) BlockingQueue.poll:

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

Документация по Java для java.util.concurrent.TimeUnit.timedWait(java.lang.Object, long).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к