Guest User

Untitled

a guest
Oct 18th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. Шаг 1.
  2.  
  3. Создадим класс ScheduledTask.java и унаследуем от TimerTask:
  4.  
  5. import java.util.TimerTask;
  6.  
  7. public class ScheduledTask extends TimerTask {
  8.  
  9. @Override
  10. public void run() {
  11.  
  12. }
  13.  
  14. }
  15. как видите также мы переопределили метод run() он есть обязательным.
  16.  
  17. Шаг 2.
  18.  
  19. Давайте теперь реализуем наш scheduled task run:
  20.  
  21. import java.util.Date;
  22. import java.util.TimerTask;
  23.  
  24. public class ScheduledTask extends TimerTask {
  25.  
  26. Date now;
  27.  
  28. // Добавляем таск
  29. @Override
  30. public void run() {
  31. now = new Date();
  32. System.out.println("Текущая дата и время : " + now);
  33. }
  34.  
  35. }
  36. тут мы просто выводим текущее время по заданному времени.
  37.  
  38. Шаг 3.
  39.  
  40. Теперь проверим работу нашего ScheduleTask-а:
  41.  
  42. import java.util.Timer;
  43.  
  44. public class SchedulerMain {
  45.  
  46. public static void main(String args[]) throws InterruptedException {
  47.  
  48. Timer time = new Timer();
  49. ScheduledTask st = new ScheduledTask();
  50. time.schedule(st, 0, 1000); // Создаем задачу с повторением через 1 сек.
  51.  
  52. for (int i = 0; i <= 5; i++) {
  53. Thread.sleep(3000);
  54. System.out.println("Execution in Main Thread. #" + i);
  55. if (i == 5) {
  56. System.out.println("Application Terminates");
  57. System.exit(0);
  58. }
  59. }
  60. }
  61.  
  62. }
  63. В данном примере мы говорим журналу задач выполнять данный таск в интервале в 3 сек. в цикле с 5-ю повторениями.
  64.  
  65. Как вы заметили у нас есть Thread.sleep(3000); тут мы заставляем поток заснуть на 3-сек. это имитация ответа сервера при выполнении SQL запроса например.
  66.  
  67. И вот результат выполнения данного кода:
  68.  
  69. Текущая дата и время : Fri May 10 23:47:53 EEST 2013
  70. Текущая дата и время : Fri May 10 23:47:54 EEST 2013
  71. Текущая дата и время : Fri May 10 23:47:55 EEST 2013
  72. Execution in Main Thread. #0
  73. Текущая дата и время : Fri May 10 23:47:56 EEST 2013
  74. Текущая дата и время : Fri May 10 23:47:57 EEST 2013
  75. Текущая дата и время : Fri May 10 23:47:58 EEST 2013
  76. Execution in Main Thread. #1
  77. Текущая дата и время : Fri May 10 23:47:59 EEST 2013
  78. Текущая дата и время : Fri May 10 23:48:00 EEST 2013
  79. Текущая дата и время : Fri May 10 23:48:01 EEST 2013
  80. Execution in Main Thread. #2
  81. Текущая дата и время : Fri May 10 23:48:02 EEST 2013
  82. Текущая дата и время : Fri May 10 23:48:03 EEST 2013
  83. Текущая дата и время : Fri May 10 23:48:04 EEST 2013
  84. Execution in Main Thread. #3
  85. Текущая дата и время : Fri May 10 23:48:05 EEST 2013
  86. Текущая дата и время : Fri May 10 23:48:06 EEST 2013
  87. Текущая дата и время : Fri May 10 23:48:07 EEST 2013
  88. Execution in Main Thread. #4
  89. Текущая дата и время : Fri May 10 23:48:08 EEST 2013
  90. Текущая дата и время : Fri May 10 23:48:09 EEST 2013
  91. Текущая дата и время : Fri May 10 23:48:10 EEST 2013
  92. Execution in Main Thread. #5
  93. Application Terminates
Add Comment
Please, Sign In to add comment