Spring-StopWatch.md

pull/42/head
huifer 5 years ago
parent 3b71090775
commit c146056ed3

@ -0,0 +1,44 @@
# Spring StopWatch
- Author: [HuiFer](https://github.com/huifer)
- 源码阅读仓库: [SourceHot-spring](https://github.com/SourceHot/spring-framework-read)
- 全路径: `org.springframework.util.StopWatch`
## 属性
- taskList: 任务信息列表
- keepTaskList: 是否保留任务信息列表
- startTimeMillis: 任务开始的时间
- currentTaskName: 任务名称
- lastTaskInfo: 任务信息
- taskCount: 任务数量
- totalTimeMillis: 总共花费的时间
## 方法
- `org.springframework.util.StopWatch.start(java.lang.String)`
```java
public void start(String taskName) throws IllegalStateException {
if (this.currentTaskName != null) {
throw new IllegalStateException("Can't start StopWatch: it's already running");
}
this.currentTaskName = taskName;
this.startTimeMillis = System.currentTimeMillis();
}
```
- `org.springframework.util.StopWatch.stop`
```java
public void stop() throws IllegalStateException {
if (this.currentTaskName == null) {
throw new IllegalStateException("Can't stop StopWatch: it's not running");
}
// 消费的时间
long lastTime = System.currentTimeMillis() - this.startTimeMillis;
this.totalTimeMillis += lastTime;
// 任务信息初始化
this.lastTaskInfo = new TaskInfo(this.currentTaskName, lastTime);
if (this.keepTaskList) {
this.taskList.add(this.lastTaskInfo);
}
++this.taskCount;
this.currentTaskName = null;
}
```
Loading…
Cancel
Save