Google之Stopwatch 計時器
參考
方法
返回值 | 方法 | Desc |
---|---|---|
Stopwatch |
static createStarted() |
使用System.nanoTime()其時間源創(chuàng)建(并啟動)新的Stopwatch |
Stopwatch |
static createStarted(Ticker ticker) |
使用指定的時間源創(chuàng)建(并啟動)新的Stopwatch |
Stopwatch |
static createUnstarted() |
使用System.nanoTime()作為其時間源創(chuàng)建(但不啟動)新的Stopwatch |
Stopwatch |
static createUnstarted(Ticker ticker) |
使用指定的時間源創(chuàng)建(但不啟動)新的Stopwatch |
Duration |
elapsed() |
以秒為單位返回此Stopwatch經(jīng)過時間Duration |
long |
elapsed(TimeUnit desiredUnit) |
用返回此Stopwatch經(jīng)過時間赋元,以所需的時間單位表示,并且向下取整 |
boolean |
isRunning() |
若 start 方法被調(diào)用,stop 方法還沒有調(diào)用,返回真 |
Stopwatch |
reset() |
把 Stopwatch 經(jīng)過的時間設(shè)置為零立肘,狀態(tài)設(shè)置為停止 |
Stopwatch |
start() |
啟動 Stopwatch |
Stopwatch |
stop() |
停止 Stopwatch |
String |
toString() |
返回字符串形式的elapsed time |
TimeUnit
枚舉常量 | 描述 |
---|---|
DAYS |
天 |
HOURS |
小時 |
MINUTES |
分鐘 |
SECONDS |
秒 |
MILLISECONDS |
毫秒 |
MICROSECONDS |
微秒 |
NANOSECONDS |
納秒 |
案例
public static void main(String[] args) throws Exception{
?
// 創(chuàng)建stopwatch并開始計時
Stopwatch stopwatch = Stopwatch.createStarted();
System.out.println("-- 開始計時 --");
Thread.sleep(1950L);
System.out.println(stopwatch);// 1.955 s
// 向下取整 單位:秒
System.out.println(stopwatch.elapsed(TimeUnit.SECONDS));// 1
?
// 停止計時
System.out.println("-- 停止計時 --");
stopwatch.stop();
Thread.sleep(2000L);
System.out.println(stopwatch);// stop()不在計時 1.959 s
System.out.println(stopwatch.elapsed(TimeUnit.SECONDS));// 1
?
// 再次計時
System.out.println("-- 再次計時 --");
stopwatch.start();
Thread.sleep(100L);
System.out.println(stopwatch);// 2.067 s
System.out.println(stopwatch.elapsed(TimeUnit.SECONDS));// 2
?
// 重置并開始
System.out.println("-- 重置并開始 --");
stopwatch.reset().start();
Thread.sleep(1500);
System.out.println(stopwatch);// 1.505 s
System.out.println(stopwatch.elapsed(TimeUnit.SECONDS));// 1
?
// 檢查isRunning
System.out.println("-- 檢查isRunning --");
System.out.println(stopwatch.isRunning());// true
?
// 打印
System.out.println("-- 打印 --");
System.out.println(stopwatch.toString());// 1.506 s
}