StopWath,apache commons lang3 包下的一个任务执行时间监视器的使用

StopWath是 apache commons lang3 包下的一个任务执行时间监视器,与我们平时常用的秒表的行为比较类似,我们先看一下其中的一些重要方法:

java 复制代码
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>    
    <groupId>org.apache.commons</groupId>    
    <artifactId>commons-lang3</artifactId>    
    <version>3.6</version>
</dependency>

Apache提供的这个任务执行监视器功能丰富强大,灵活性强,如下经典实用案例:

java 复制代码
public static void main(String[] args) throws InterruptedException {    
    //创建后立即start,常用    
    StopWatch watch = StopWatch.createStarted();
    // StopWatch watch = new StopWatch();    
    // watch.start();    Thread.sleep(1000);    
    System.out.println(watch.getTime());    
    System.out.println("统计从开始到现在运行时间:" + watch.getTime() + "ms");
    Thread.sleep(1000);    
    watch.split();    
    System.out.println("从start到此刻为止的时间:" + watch.getTime());   
     System.out.println("从开始到第一个切入点运行时间:" + watch.getSplitTime());

    Thread.sleep(1000);    
    watch.split();    
    System.out.println("从开始到第二个切入点运行时间:" + watch.getSplitTime());    
    // 复位后, 重新计时    
    watch.reset();    
    watch.start();    
    Thread.sleep(1000);    
    System.out.println("重新开始后到当前运行时间是:" + watch.getTime());    
    // 暂停 与 恢复    
    watch.suspend();    
    System.out.println("暂停2秒钟");    
    Thread.sleep(2000);    
    // 上面suspend,这里要想重新统计,需要恢复一下   
     watch.resume();    
    System.out.println("恢复后执行的时间是:" + watch.getTime());
    Thread.sleep(1000);    
    watch.stop();
    System.out.println("花费的时间》》" + watch.getTime() + "ms");    
    // 直接转成s    
    System.out.println("花费的时间》》" + watch.getTime(TimeUnit.SECONDS) + "s");
}
相关推荐
SelectDB2 小时前
驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑
运维·数据库·apache
鲨莎分不晴14 小时前
大数据的“大动脉”:深度剖析 Apache Kafka 的高性能之道
大数据·kafka·apache
oMcLin14 小时前
如何在 RHEL 7 上通过配置 Apache Kafka 集群的分区机制,提升消息传递系统的吞吐量与数据流处理能力?
分布式·kafka·apache
鲨莎分不晴14 小时前
给 Hadoop 插上 SQL 的翅膀:Apache Hive 架构与实战全解
hadoop·sql·apache
oMcLin14 小时前
如何在CentOS 8上配置并调优Apache Spark集群,确保大规模数据分析任务的高效运行与资源分配?
spark·centos·apache
SelectDB1 天前
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
数据库·数据分析·apache
それども2 天前
Apache POI XSSFWorkbook 和 SXSSFWorkbook 的区别
apache·excel
xifangge20252 天前
PHP 错误日志在哪里看?Apache / Nginx / PHP-FPM 一次讲清
nginx·php·apache
潇凝子潇3 天前
Apache Kafka 跨集群复制实现方案
分布式·kafka·apache
大厂技术总监下海3 天前
数据湖加速、实时数仓、统一查询层:Apache Doris 如何成为现代数据架构的“高性能中枢”?
大数据·数据库·算法·apache