2016-05-26 36 views
-2

我需要一個簡單,高性能,線程安全,低精度的定時器/技術(僅高達數百ms)來測量線程安全中的流逝時間功能。Java 1.8:以線程安全的方式測量已用時間

如何在Java中實現它?

我看了看System.currentTimeMillisSystem.nanoTime但沒有提及任何線程安全保證

+0

我不再擁有Java 1.8 API參考,但'System.currentTimeMillis()'可以追溯到目前爲止?或者,java.util.Date的空構造函數總是給你一個代表當前時間的Date,並且你可以使用它的getTime()方法來獲取從epoch開始的毫秒數。兩種方法都應該支持一個簡單的計時器。 –

+0

'currentTimeMillis'線程安全嗎?我找不到明確提到它的任何文檔 – lolski

+0

它必須是 - 因爲可以隨時從任何代碼(JRE和用戶代碼)調用'currentTimeMillis()'。沒有辦法可靠地同步來自不同來源的呼叫。 –

回答

2

沒有關於線程safetyness文檔,因爲它是沒有必要的。

這些方法從底層操作系統獲得一個很長的值並將其返回。

你認爲線程安全的問題在哪裏?