планирования задач синхронизации
По таймеру и 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