`

Spring定时器StopWatch

阅读更多

简单总结一句,Spring提供的计时器StopWatch对于秒、毫秒为单位方便计时的程序,尤其是单线程、顺序执行程序的时间特性的统计输出支持比较好。也就是说假如我们手里面有几个在顺序上前后执行的几个任务,而且我们比较关心几个任务分别执行的时间占用状况,希望能够形成一个不太复杂的日志输出,StopWatch提供了这样的功能。而且Spring的StopWatch基本上也就是仅仅为了这样的功能而实现。

 

实际中用到的代码:

public void run() {
	LOGGER.info("[" + taskName + "]开始执行");
        StopWatch stopWatch = new StopWatch();
        stopWatch.start(taskName);
        try {
            doTask();
        } catch (Exception e) {
            LOGGER.error("[" + taskName + "]执行失败", e);
        } finally {
            stopWatch.stop();
            LOGGER.info("[" + taskName + "]执行结束,耗时:" + stopWatch.getTotalTimeMillis() + "毫秒");
        }
}

 

另外,还可以使用一些其他的方法:

import org.springframework.util.StopWatch;  
  
public class StopWatchDemo {  
  
    /** 
     * @param args 
     * @throws InterruptedException 
     */  
    public static void main(String[] args) throws InterruptedException {  
        // TODO Auto-generated method stub  
        StopWatch clock = new StopWatch();  
        clock.start("TaskOneName");  
        Thread.sleep(1000 * 3);// 任务一模拟休眠3秒钟  
        clock.stop();  
        clock.start("TaskTwoName");  
        Thread.sleep(1000 * 10);// 任务一模拟休眠10秒钟  
        clock.stop();  
        clock.start("TaskThreeName");  
        Thread.sleep(1000 * 10);// 任务一模拟休眠10秒钟  
        clock.stop();  
  
        System.out.println(clock.prettyPrint());  
    }  
  
} 

 

控制台输出如下:
StopWatch '': running time (millis) = 22926
-----------------------------------------
ms     %     Task name
-----------------------------------------
02990  013%  TaskOneName
09968  043%  TaskTwoName
09968  043%  TaskThreeName

 

 

http://blog.csdn.net/ioe_gaoyong/article/details/22788789

 

分享到:
评论

相关推荐

    基于蕃茄工作法的--蕃茄计时器

    **基于番茄工作法的番茄计时器** 番茄工作法(Pomodoro Technique)是一种时间管理方法,由弗朗西斯科·西里洛在20世纪80年代提出。这种方法通过将工作时间分割成一系列25分钟的工作块,每个工作块之间穿插短暂的...

    Spring计时器StopWatch使用示例

    Spring计时器StopWatch使用示例详解 Stopwatch是Spring框架提供的一个工具类,位于org.springframework.util包下,主要用于对程序部分代码进行计时(ms级别),适用于同步单线程代码块。在开发过程中,我们经常...

    Spring StopWatch使用实例详解

    Spring StopWatch 使用实例详解 Spring StopWatch 是 Spring 框架中的一种性能监控工具,主要用于记录和统计应用程序中的执行时间、延迟时间等性能指标。下面是 Spring StopWatch 的使用实例详解。 什么是 Spring ...

    Java计时新姿势StopWatch详解

    StopWatch的使用非常简单,只需要引入Spring核心包,并创建一个StopWatch对象,然后使用start()方法开始计时,stop()方法停止计时,最后使用prettyPrint()方法将计时结果输出。 StopWatch的优点在于它可以对多个...

    Visual C++源代码 26 如何使用Stopwatch实现高精度计时

    Visual C++源代码 26 如何使用Stopwatch实现高精度计时Visual C++源代码 26 如何使用Stopwatch实现高精度计时Visual C++源代码 26 如何使用Stopwatch实现高精度计时Visual C++源代码 26 如何使用Stopwatch实现高精度...

    qt5实现简单的定时器

    本篇将详细讲解如何利用Qt5的QTimer来创建一个简单的定时器,并通过实际的"stopwatch"示例来加深理解。 首先,我们需要了解QTimer的基本用法。QTimer是一个信号/槽机制的定时器,它可以触发预设时间间隔的信号。要...

    基于swift开发的Stopwatch应用程序

    基于swift开发的Stopwatch应用程序基于swift开发的Stopwatch应用程序基于swift开发的Stopwatch应用程序基于swift开发的Stopwatch应用程序基于swift开发的Stopwatch应用程序基于swift开发的Stopwatch应用程序基于...

    Stopwatch

    "Stopwatch"是一个在计算机编程领域中常见的工具,特别是在性能测试和时间测量方面。Stopwatch类通常被用于C#、Java、Python等编程语言中,它允许开发者精确地度量代码段执行的时间,这对于优化算法和提升程序效率至...

    Stopwatch精准秒表

    在大多数现代计算机上,`Stopwatch`的精度可以达到15毫微秒,远高于基于系统时钟的定时器。 下面我们将详细探讨`Stopwatch`类的一些关键属性和方法: 1. **构造函数**: - `Stopwatch()`:默认的无参构造函数,...

    使用Stopwatch实现高精度计时

    - `Stopwatch`类使用硬件定时器,如处理器的时钟周期,因此其精度远高于基于系统时钟的`DateTime.Now`或`DateTime.UtcNow`。 - 这种高精度对于微秒级别的性能测试至关重要,因为常规的日期时间操作可能无法提供...

    Stopwatch(备用资料)

    值得注意的是,Stopwatch 使用操作系统的硬件定时器,因此它的精度比基于日期和时间的 DateTime 类高得多。DateTime 可能受到系统时钟更新的影响,而 Stopwatch 则可以提供更准确的性能测量。 如果你在描述中提到的...

    开发调试工具之精致的桌面定时器

    至于压缩包中的文件,"下载说明.htm"很可能是提供下载和安装该桌面定时器的详细步骤和注意事项,而"stopwatch"可能是该定时器的可执行文件或配置文件。用户在解压后,根据下载说明进行安装和设置,即可开始使用这个...

    匿名委托及Stopwatch

    在.NET框架中,匿名委托和`Stopwatch`类是两种非常重要的编程概念,它们在实际开发中有着广泛的应用。现在让我们深入探讨这两个主题,并通过具体的示例来理解它们的使用。 首先,我们来讨论匿名委托。匿名委托允许...

    App1ms_1ms定时器_C#_

    在C#编程环境中,开发高精度的定时器是常见的需求,尤其在实时系统、游戏开发或者数据采集等场景。标题中的“App1ms_1ms定时器_C#_”指的是一个应用,它实现了1毫秒级别的定时器功能,这意味着它可以以每秒1000次的...

    android STopwatch

    这通常通过创建一个定时器(Timer)或者使用Handler和Runnable来实现。每当秒表的毫秒数增加,都会更新UI上的时间显示。 3. **UI设计**:应用界面应包含开始、暂停、重置按钮,以及清晰的时间显示区域。这些元素...

    matlab开发-Stopwatch

    在MATLAB中,Stopwatch是一种实用工具,用于度量代码段执行所需的时间,这对于性能分析和优化至关重要。MATLAB的Stopwatch功能可以帮助开发者追踪程序运行的精确时间,从而更好地理解和改进算法效率。在这个"matlab...

    StopWatch (jar)多个文件

    StopWatch 是一个在Java编程语言中广泛使用的工具类,它属于Apache Commons Lang库的一部分。这个类主要用于衡量代码段或任务的执行时间,帮助开发者进行性能分析和优化。它的工作原理是通过记录开始和结束时间来...

    C#实现的秒表 StopTimer

    同时,为了提高性能和准确性,你可能要考虑使用`System.Diagnostics.Stopwatch`类代替`System.Windows.Forms.Timer`,因为`Stopwatch`提供更高的计时精度,特别适合高性能计时场景。 总之,通过理解C#的定时器控件...

    《C#计时利器:Stopwatch的使用》源代码

    在.NET框架中,`System.Diagnostics.Stopwatch`类是开发者用于衡量代码执行时间的重要工具,尤其在性能测试和优化中起到关键作用。`Stopwatch`类提供了精确到纳秒级的时间测量,使得它成为C#中计时的首选方法。本文...

    CSharp 4.0 .Net Framework V4.0 Stopwatch 类

    C# 中的 `Stopwatch` 类是 .NET Framework 4.0 版本中的一个工具,用于精确地测量代码执行的时间。它属于 `System.Diagnostics` 命名空间,并且包含在 `System.dll` 程序集中。`Stopwatch` 类提供了多种方法和属性,...

Global site tag (gtag.js) - Google Analytics