Точность таймера в Java

ALTER TABLE <table name> 
ADD <new column name> <data type> NOT NULL
GO
ALTER TABLE <table name> 
ADD CONSTRAINT <constraint name> DEFAULT <default value> FOR <new column name>
GO
7
задан 7 August 2009 в 15:21
поделиться

2 ответа

Вы пробовали использовать System.nanoTime () ?

Из документации Javadoc:

Возвращает текущее значение наиболее точного доступного системного таймера в наносекундах .

Этот метод может использоваться только для измерения прошедшего времени и не связан ни с каким другим понятием системного времени или времени настенных часов. Возвращаемое значение представляет собой наносекунды с некоторого фиксированного, но произвольного времени (возможно, в будущем, поэтому значения могут быть отрицательными). Этот метод обеспечивает точность в наносекунду, но не обязательно точность в наносекунду. Не дается никаких гарантий относительно того, как часто меняются ценности. Различия в последовательных вызовах, которые охватывают более 292 лет (2 63 наносекунд), не позволяют точно вычислить прошедшее время из-за числового переполнения.

Например, чтобы измерить, сколько времени требуется для выполнения некоторого кода: // ... измеряемый код ... long EstimatedTime = System.nanoTime () - startTime;

9
ответ дан 6 December 2019 в 19:40
поделиться

Часы и таймеры - Общий обзор

API программирования Java для часов и таймеров Абсолютный часы "времени суток" представлены метод System.currentTimeMillis (), что возвращает миллисекунду представление времени на настенных часах в миллисекунды с эпохи. Как таковой он использует время операционной системы дневных »часов. Разрешение обновления этих часов часто совпадает с прерывание по таймеру (например, 10 мс), но на некоторые системы фиксированы, независимо от частота прерываний.

Представлены часы относительного времени методом System.nanoTime (), который возвращает время "автономной работы" в наносекунды. На этот раз полезно только для сравнения с другими nanoTime ценности. Метод nanoTime использует часы с самым высоким разрешением доступны на платформа, а пока ее возвращение значение в наносекундах, обновление разрешение обычно только микросекунды. Однако в некоторых системах нет другого выбора, кроме как использовать то же самое источник часов как для currentTimeMillis () - к счастью, это встречается редко и в основном влияет на старый Linux систем и Windows 98.

4
ответ дан 6 December 2019 в 19:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: