本文共 1627 字,大约阅读时间需要 5 分钟。
spring提供的计时器StopWatch对于秒、毫秒为单位方便计时的程序,尤其是单线程、顺序执行程序的时间特性的统计输出支持比较好。也就是说假如我们手里面有几个在顺序上前后执行的几个任务,而且我们比较关心几个任务分别执行的时间占用状况,希望能够形成一个不太复杂的日志输出,StopWatch提供了这样的功能。而且Spring的StopWatch基本上也就是仅仅为了这样的功能而实现。
package com.xiaobu.demo2;import org.springframework.util.StopWatch;import java.util.concurrent.TimeUnit;/** * @author xiaobu * @version JDK1.8.0_171 * @date on 2019/9/19 13:47 * @description 计时器 */public class StopSwatch { public static void main(String[] args) { work(); } public static void work() { StopWatch stopWatch = new StopWatch(); stopWatch.start("起床"); try { TimeUnit.MILLISECONDS.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } stopWatch.stop(); stopWatch.start("洗漱"); try { TimeUnit.MILLISECONDS.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } stopWatch.stop(); stopWatch.start("锁门"); try { TimeUnit.MILLISECONDS.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } stopWatch.stop(); System.out.println("stopWatch.prettyPrint():" + stopWatch.prettyPrint()); System.out.println("stopWatch.getTotalTimeMillis():" + stopWatch.getTotalTimeMillis()); System.out.println("stopWatch.getLastTaskName():" + stopWatch.getLastTaskName()); System.out.println("stopWatch.getLastTaskInfo():" + stopWatch.getLastTaskInfo()); System.out.println("stopWatch.getTaskCount():" + stopWatch.getTaskCount()); }}
转载地址:http://lgrai.baihongyu.com/