Spec-Zone .ru
спецификации, руководства, описания, API
|
public enum TimeUnit extends Enum<TimeUnit>
TimeUnit, главным образом, используется, чтобы сообщить основанным на времени методам, как должен быть интерпретирован данный параметр синхронизации. Например, следующий код будет тайм-аут в 50 миллисекундах если lock
не доступно:
Lock lock = ...; if (lock.tryLock(50L, TimeUnit.MILLISECONDS)) ...в то время как этот код будет тайм-аут через 50 секунд:
Lock lock = ...; if (lock.tryLock(50L, TimeUnit.SECONDS)) ...Отметьте однако, что нет никакой гарантии, что определенная реализация тайм-аута будет в состоянии заметить течение времени при той же самой гранулярности как данный TimeUnit.
Перечислимая Константа и Описание |
---|
ДНИ |
ЧАСЫ |
МИКРОСЕКУНДЫ |
МИЛЛИСЕКУНДЫ |
МИНУТЫ |
НАНОСЕКУНДЫ |
СЕКУНДЫ |
Модификатор и Тип | Метод и Описание |
---|---|
long |
convert(long sourceDuration, TimeUnit sourceUnit)
Преобразуйте данную продолжительность времени в данном модуле к этому модулю.
|
void |
sleep(long timeout)
Выполняет a
Thread.sleep использование этой единицы измерения времени. |
void |
timedJoin(Thread thread, long timeout)
Выполняет синхронизированное
Thread.join использование этой единицы измерения времени. |
void |
timedWait(Object obj, long timeout)
Выполняет синхронизированное
Object.wait использование этой единицы измерения времени. |
long |
toDays(long duration)
Эквивалентный DAYS.convert(duration, this).
|
long |
toHours(long duration)
Эквивалентный HOURS.convert(duration, this).
|
long |
toMicros(long duration)
Эквивалентный MICROSECONDS.convert(duration, this).
|
long |
toMillis(long duration)
Эквивалентный MILLISECONDS.convert(duration, this).
|
long |
toMinutes(long duration)
Эквивалентный MINUTES.convert(duration, this).
|
long |
toNanos(long duration)
Эквивалентный NANOSECONDS.convert(duration, this).
|
long |
toSeconds(long duration)
Эквивалентный SECONDS.convert(duration, this).
|
static TimeUnit |
valueOf(String name)
Возвращает перечислимую константу этого типа с указанным именем.
|
static TimeUnit[] |
values()
Возвращает массив, содержащий константы этого перечислимого типа, в порядке, которым они объявляются.
|
public static final TimeUnit NANOSECONDS
public static final TimeUnit MICROSECONDS
public static final TimeUnit MILLISECONDS
public static final TimeUnit SECONDS
public static final TimeUnit MINUTES
public static final TimeUnit HOURS
public static final TimeUnit DAYS
public static TimeUnit[] values()
for (TimeUnit c : TimeUnit.values()) System.out.println(c);
public static TimeUnit valueOf(String name)
name
- имя перечислимой константы, которая будет возвращена.IllegalArgumentException
- если у этого перечислимого типа нет никакой константы с указанным именемNullPointerException
- если параметром является нульpublic long convert(long sourceDuration, TimeUnit sourceUnit)
Например, чтобы преобразовать 10 минут в миллисекунды, используйте: TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)
sourceDuration
- продолжительность времени в данном sourceUnitsourceUnit
- модуль параметра sourceDurationpublic long toNanos(long duration)
duration
- продолжительностьconvert(long, java.util.concurrent.TimeUnit)
public long toMicros(long duration)
duration
- продолжительностьconvert(long, java.util.concurrent.TimeUnit)
public long toMillis(long duration)
duration
- продолжительностьconvert(long, java.util.concurrent.TimeUnit)
public long toSeconds(long duration)
duration
- продолжительностьconvert(long, java.util.concurrent.TimeUnit)
public long toMinutes(long duration)
duration
- продолжительностьconvert(long, java.util.concurrent.TimeUnit)
public long toHours(long duration)
duration
- продолжительностьconvert(long, java.util.concurrent.TimeUnit)
public long toDays(long duration)
duration
- продолжительностьconvert(long, java.util.concurrent.TimeUnit)
public void timedWait(Object obj, long timeout) throws InterruptedException
Object.wait
использование этой единицы измерения времени. Это - метод удобства, который преобразовывает параметры тайм-аута в форму, требуемую методом Object.wait. Например, Вы могли реализовать метод poll блокирования (см. BlockingQueue.poll
) использование:
public synchronized Object poll(long timeout, TimeUnit unit)
throws InterruptedException {
while (empty) {
unit.timedWait(this, timeout);
...
}
}
obj
- объект ожидать наtimeout
- максимальное время, чтобы ожидать. Если меньше чем или равный нулю, не ожидайте вообще.InterruptedException
- если прервано, ожидаяpublic void timedJoin(Thread thread, long timeout) throws InterruptedException
Thread.join
использование этой единицы измерения времени. Это - метод удобства, который преобразовывает параметры времени в форму, требуемую методом Thread.join.thread
- поток, чтобы ожидатьtimeout
- максимальное время, чтобы ожидать. Если меньше чем или равный нулю, не ожидайте вообще.InterruptedException
- если прервано, ожидаяpublic void sleep(long timeout) throws InterruptedException
Thread.sleep
использование этой единицы измерения времени. Это - метод удобства, который преобразовывает параметры времени в форму, требуемую методом Thread.sleep.timeout
- минимальное время, чтобы спать. Если меньше чем или равный нулю, не спите вообще.InterruptedException
- если прервано, спя
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.