Java Планирование задач синхронизации (таймера)

планирования задач синхронизации

По таймеру и Timetask, мы можем достичь времени, чтобы начать нить.

java.util.Timer

      В этом варианте осуществления, действие класса Таймера является функция будильника, т.е. времени или вызывает поток через заданные интервалы времени. На самом деле, сам таймер класс является достижение нити, но этот поток используются для выполнения вызовов на другие потоки.

java.util.TimerTask

      TimerTask класс является абстрактным классом, который реализует Runnable интерфейса, возможность многопоточности класса есть.

В этом варианте осуществления, класс по наследству способности TimerTask получить многопоточный, многопоточный код будет необходим для выполнения письменной формы в течение способа выполнения, а затем путем выполнения начальных классов темы таймера.

использование java.util.Timer

общественный  класс TestTimer {
     общественного  статический  недействительный основной (String [] арг) { 
        таймер T1 = новый новый таймер (); // пользовательского таймер, 
        чтобы MyTask TASK1 = новый новый для MyTask (); // определить задачи; 
        t1.schedule (task1,3000) ;   // выполняется в течение 3 секунд;
         // t1.schedule (task1,5000,1000); // после 5 секунд выполняется один раз каждую секунду!
        // GregorianCalendar Calendar1 GregorianCalendar новый новый = (2010,0,5,14,36,57); 
         // t1.schedule (task1, calendar1.getTime ()); // указанное временное время выполнения; 
    } 
} 
 
КлассДля MyTask расширений с TimerTask { // пользовательский класс нить наследует класс TimerTask, 
    публичный  недействительным RUN () {
         для ( INT I = 0; I <10; I ++ ) { 
            System.out.println ( "Задача 1:." + I); 
        } 
    } 
}

Результаты, показанные на рисунке:

 

 

При запуске программы выше, вы можете чувствовать себя есть существенная задержка (вероятно, через три секунды!) Перед выходом. Есть несколько способов, чтобы попробовать это сам!

При практическом использовании, таймер может быть активирован любое число потоков TimerTask достигнуто, но будет заблокирован между несколькими потоками. Так что, если вам нужно совершенно отдельные слова между несколькими потоками, то лучше начать TimerTask достижения таймера.

===========

@Scheduled комментарий

https://www.jianshu.com/p/1defb0f22ed1

Springboot интегрированные асинхронные обычные задачи

https://blog.csdn.net/qq_32447301/article/details/84668865

весна загрузка приходит с регулярными задачами, время выражение, представляющие некоторыми из ямы через несколько недель. ,

https://blog.csdn.net/z1040141848/article/details/96973459

springboot интегрированный кварцевой достижения динамических регулярных задач

Реальное развитие, мы можем использовать с открытым исходным кодом рамки Кванц, более удобный планирование сроках реализации поставленной задачи. На самом деле, содержание Кванц основной принцип здесь представлен.

https://blog.csdn.net/z291197968/article/details/82351471

 

рекомендация

отwww.cnblogs.com/zhzhlong/p/11434233.html