
Spring Framework — StopWatch() это очень удобная утилита для любого Java-разработчика, если у вас есть небольшое Java-приложение или готовое к работе приложение. Большинство приложений Java используют пул потоков или одновременный вызов нескольких заданий одновременно.
Есть вопросы ниже?
- Как измерить время выполнения в Java
- Как измерить прошедшее время с помощью Spring StopWatch
Тогда вы находитесь в правильном месте. В этом уроке мы расскажем о том, как измерить и сообщить время, затраченное каждым потоком или методами Java.
Давайте начнем:
StopWatch — это простой секундомер, позволяющий рассчитывать время выполнения ряда задач, отображая общее время выполнения и время выполнения для каждой названной задачи.
Для запуска этой программы вам понадобится ядро Spring MVC с зависимостью Maven.
|
1
2
3
4
5
|
< зависимость >
< groupId > org . Springframework < / groupId >
< artifactId > spring — core < / artifactId >
< версия > 5.0.3.RELEASE < / версия >
< / зависимость >
|
Пожалуйста, добавьте вышеуказанную зависимость maven к вашему проекту Maven и выполните следующие шаги.
- Создайте класс CrunchifySpringFrameworkStopWatch.java
- Создать объект StopWatch crunchifyWatch
- Запускать и останавливать объект crunchifyWatch во время
performTask1()а такжеperformTask2()операция - Возврат totalTimesInSeconds
- В дополнение к печати полного результата StopWatch в формате prettyPrint
- Мы используем все перечисленные ниже операции с StopWatch для печати разных результатов.
- getTotalTimeSeconds ()
- prettyPrint ()
- краткое содержание()
- getTaskCount ()
- getLastTaskInfo (). getTaskName ()
Пожалуйста, взгляните на код для более подробного описания.
CrunchifySpringFrameworkStopWatch.java
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
пакет crunchify. ком . учебник ;
импорт орг . пружинная рама . Util. Секундомер ;
/ **
* @author Crunchify.com Используйте StopWatch для отображения общего времени работы любых потоков Java.
* /
общественности учебный класс CrunchifySpringFrameworkStopWatch {
общественности статический недействительным main ( Строка [ ] аргументы ) {
// StopWatch — это простой секундомер, позволяющий рассчитывать время выполнения ряда задач, показывая общее время выполнения и время выполнения для каждого
// именованная задача.
StopWatch crunchifyWatch знак равно новый StopWatch ( CrunchifyThreads ) ;
CrunchifySpringFrameworkStopWatch crunchifyThread знак равно новый CrunchifySpringFrameworkStopWatch ( ) ;
crunchifyWatch . start ( CrunchifyThread-1 ) ;
crunchifyThread . executeTask1 ( ) ;
crunchifyWatch . стоп ( ) ;
crunchifyWatch . start ( CrunchifyThread-2 ) ;
crunchifyThread . executeTask2 ( ) ;
crunchifyWatch . стоп ( ) ;
Система. вне. println ( CrunchifyThreads занял всего: + crunchifyWatch. getTotalTimeSeconds ( ) + «секунды» ) ;
// prettyPrint () возвращает строку с таблицей, описывающей все выполненные задачи. Для пользовательских отчетов вызовите getTaskInfo () и используйте
// информация о задаче напрямую.
Система. вне. println ( / n1. prettyPrint Result: + crunchifyWatch . prettyPrint ( ) ) ;
// Возвращаем краткое описание общего времени работы.
Система. вне. println ( 2. Краткое резюме: + crunchifyWatch . shortSummary ( ) ) ;
// Возвращаем количество задач по времени.
Система. вне. println ( 3. Общее количество задач: + crunchifyWatch . getTaskCount ( ) ) ;
// Возвращаем имя этой задачи.
Система. вне. println ( 4. Последнее имя задачи: + crunchifyWatch . getLastTaskInfo ( ) . getTaskName ( ) ) ;
}
частный недействительным executeTask1 ( ) {
Runnable myRunnable знак равно новый Runnable ( ) {
общественности недействительным запустить ( ) {
Система. вне. println ( «Запуск задачи Crunchify 1» ) ;
}
} ;
crunchifyThread Thread знак равно новый Thread ( myRunnable ) ;
crunchifyThread . начало ( ) ;
}
частный недействительным executeTask2 ( ) {
Система. вне. println ( «Запуск задачи Crunchify 2 / n» ) ;
за ( int я знак равно 1 ; я < = 5 ; я ++ ) {
пытаться {
Thread. сон ( 2000 ) ;
Система. вне. println ( Running Loop # + я ) ;
} ловить ( InterruptedException е ) {
эл . printStackTrace ( ) ;
}
}
Система. вне. println ( ) ;
}
}
|
Просто запустите вышеуказанную программу как Java в вашей среде Eclipse или автономно, используя Terminal или Windows DOS, и вы увидите, что метод executeTask2 () займет 10 секунд, как у цикла for со счетом 5 и 2 секунды. Время ожидания потока.
Вывод консоли Eclipse:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Задача Crunchify 1 Бег
Задача Crunchify 2 Бег
Беговая петля № 1
Беговая петля № 2
Беговая петля № 3
Беговая петля № 4
Беговая петля № 5
CrunchifyThreads занял всего : 10.006Seconds
1. prettyPrint Результат : Секундомер 'CrunchifyThreads' : время работы ( миллис ) знак равно 10006
——————————————
Миз % Название задачи
——————————————
00001 000 % CrunchifyThread — 1
10005 100 % CrunchifyThread — 2
2. короткий Резюме : Секундомер 'CrunchifyThreads' : время работы ( миллис ) знак равно 10006
3. Общее количество задач: 2
4. Имя последней задачи : CrunchifyThread — 2
|
Дайте мне знать, что вы думаете о StopWatch. Я лично использую StopWatch SpringFramework во всех своих приложениях.
0.00 (0%) 0 votes






