使用spring的计时器StopWatch,更简洁方便(附源码)
问题背景
平常项目中经常会用到计时器,这里介绍stopwatch的使用
注意事项:
- 可以直接使用文中代码,也可以下载源码进行参考
StopWatch的使用
1 直接导入StopWatch的类
import org.springframework.util.StopWatch;
2 测试代码
package com.lanran.stopwatch.service;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.springframework.util.StopWatch;
import java.util.concurrent.TimeUnit;
/**
* @Author suolong
* @Date 2022/7/20 16:56
* @Version 2.0
*/
@Slf4j
public class StopWatchService {
@Test
public void stopwatchTest() throws InterruptedException {
StopWatch stopWatch = new StopWatch();
stopWatch.start("任务一");
task1();
stopWatch.stop();
log.info("任务1: {}", stopWatch.getLastTaskTimeMillis());
stopWatch.start("任务二");
task2();
stopWatch.stop();
//格式化输出
log.info(stopWatch.prettyPrint());
}
public void task1() throws InterruptedException {
TimeUnit.MILLISECONDS.sleep(100);
}
public void task2() throws InterruptedException {
TimeUnit.MILLISECONDS.sleep(300);
}
}
3 测试结果,可以看出结果有一点偏差,这是因为本身语句的执行也需要时间,和电脑频率也息息相关
总结
也可以使用原本的System.currentTimeMillis()进行时间计算,根据自己的喜好
作为程序员第 207 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …