import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
public class SystemClock {
private static final String THREAD_NAME = "system.clock";
private static final SystemClock MILLIS_CLOCK = new SystemClock(1);
private final long precision;
private final AtomicLong now;
private SystemClock(long precision) {
this.precision = precision;
now = new AtomicLong(System.currentTimeMillis());
scheduleClockUpdating();
}
public static SystemClock millisClock() {
return MILLIS_CLOCK;
}
private void scheduleClockUpdating() {
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(runnable -> {
Thread thread = new Thread(runnable, THREAD_NAME);
thread.setDaemon(true);
return thread;
});
scheduler.scheduleAtFixedRate(() ->
now.set(System.currentTimeMillis()), precision, precision, TimeUnit.MILLISECONDS);
}
public long now() {
return now.get();
}
public static void main(String[] args){
System.out.println(SystemClock.millisClock().now());
}
}
時間戳效能最佳化
相關文章
- 獲取時間戳,幾個時間點的時間戳時間戳
- MySQL時間戳、時間MySql時間戳
- JavaScript 時間戳JavaScript時間戳
- kafka時間戳Kafka時間戳
- C# 時間戳轉時間C#時間戳
- 時間型別和時間戳型別時間戳
- Excel中時間戳轉換時間Excel時間戳
- 兩個時間戳的時間差時間戳
- 時間戳轉化為時間格式時間戳
- 【時間戳轉普通時間格式的方法】時間戳
- 格式化時間 戳
- Unix 時間戳與日期時間戳
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- Timestamp-時間戳轉換時間戳
- [20191226]dmesg與時間戳.txt時間戳
- PostgreSQL自動更新時間戳SQL時間戳
- 《Lua-in-ConTeXt》05:時間戳Context時間戳
- Mongoose無法更新時間戳Go時間戳
- 時間戳與時間字串的多時區轉換時間戳字串
- js獲取某時間的當天0點時間戳 與某時間的當週週一0點時間戳JS時間戳
- mysql時間操作(時間差和時間戳和時間字串的互轉)MySql時間戳字串
- python時間戳和時間字串的各種轉換Python時間戳字串
- 32 位 PHP 時間戳問題PHP時間戳
- unity+時間戳的應用Unity時間戳
- js獲取當天時間戳JS時間戳
- Laravel 獲取 13 位時間戳Laravel時間戳
- MySQL時間戳轉成日期格式MySql時間戳
- c/c++獲取時間戳C++時間戳
- 低開銷獲取時間戳時間戳
- 時間戳和正規表示式時間戳
- MySQL字串轉時間戳查詢MySql字串時間戳
- 引用js、css檔案時加時間戳JSCSS時間戳
- MySQL 時間戳的 獲取 & 轉換為特定時間格式MySql時間戳
- python中的時間轉換,秒級時間戳轉string,string轉時間Python時間戳
- 時間戳轉化為動態時鐘--moment時間戳
- Java 給PDF簽名時新增可信時間戳Java時間戳
- Elasticsearch為記錄新增時間戳timestampElasticsearch時間戳
- 獲取Unix 時間戳帶上毫秒時間戳