怎么使用Java schedule实现Timer的定时调度函数

其他教程   发布日期:2025年04月06日   浏览次数:93

这篇“怎么使用Java schedule实现Timer的定时调度函数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Java schedule实现Timer的定时调度函数”文章吧。

schedule(task,time)

task-所安排的任务 time-执行任务的时间

作用:在时间等于或者超过time的时候执行且仅执行一次

  1. import java.text.SimpleDateFormat;
  2. import java.util.Calendar;
  3. import java.util.Timer;
  4. import java.util.TimerTask;
  5. public class MyTimerTask extends TimerTask {
  6. private Integer cout = 0;
  7. @Override
  8. public void run() {
  9. Calendar calendar = Calendar.getInstance();
  10. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  11. System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
  12. System.out.println("NO.1");
  13. }
  14. public static void main(String[] args) {
  15. MyTimerTask task = new MyTimerTask();
  16. Calendar calendar = Calendar.getInstance();
  17. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  18. System.out.println(format.format(calendar.getTime()));
  19. calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
  20. Timer timer = new Timer();
  21. timer.schedule(task,calendar.getTime());
  22. }
  23. }

schedule(task,time,period)

task-所要安排执行的任务 time-首次执行任务的时间 period-执行一次task的时间间隔,单位毫秒

作用:时间等于或者超过time首次执行task,之后每隔period毫秒重复执行一次任务

  1. import java.text.SimpleDateFormat;
  2. import java.util.Calendar;
  3. import java.util.Timer;
  4. import java.util.TimerTask;
  5. public class MyTimerTask extends TimerTask {
  6. private Integer cout = 0;
  7. @Override
  8. public void run() {
  9. Calendar calendar = Calendar.getInstance();
  10. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  11. System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
  12. System.out.println("NO.1");
  13. }
  14. public static void main(String[] args) {
  15. MyTimerTask task = new MyTimerTask();
  16. Calendar calendar= Calendar.getInstance();
  17. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  18. System.out.println(format.format(calendar.getTime()));
  19. calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
  20. Timer timer = new Timer();
  21. //timer.schedule(task,calendar.getTime());
  22. timer.schedule(task,calendar.getTime(),2000);
  23. }
  24. }

schedule(task,delay)

task-所要安排的任务 delay-执行任务前的延迟时间,单位毫秒

作用:等待delay毫秒后执行仅执行一次task

  1. import java.text.SimpleDateFormat;
  2. import java.util.Calendar;
  3. import java.util.Timer;
  4. import java.util.TimerTask;
  5. public class MyTimerTask extends TimerTask {
  6. @Override
  7. public void run() {
  8. Calendar calendar = Calendar.getInstance();
  9. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  10. System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
  11. System.out.println("NO.1");
  12. }
  13. public static void main(String[] args) {
  14. MyTimerTask task = new MyTimerTask();
  15. Calendar calendar = Calendar.getInstance();
  16. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  17. System.out.println(format.format(calendar.getTime()));
  18. //calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
  19. Timer timer = new Timer();
  20. //timer.schedule(task,calendar.getTime());
  21. //timer.schedule(task,calendar.getTime(),2000);
  22. timer.schedule(task,2000);
  23. }
  24. }

schedule(task, delay,period)

作用:在等待delay毫秒后首次执行task,每隔period毫秒重复执行task

  1. import java.text.SimpleDateFormat;
  2. import java.util.Calendar;
  3. import java.util.Timer;
  4. import java.util.TimerTask;
  5. public class MyTimerTask extends TimerTask {
  6. @Override
  7. public void run() {
  8. Calendar calendar = Calendar.getInstance();
  9. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  10. System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
  11. System.out.println("NO.1");
  12. }
  13. public static void main(String[] args) {
  14. MyTimerTask task = new MyTimerTask();
  15. Calendar calendar = Calendar.getInstance();
  16. SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
  17. System.out.println(format.format(calendar.getTime()));
  18. //calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
  19. Timer timer = new Timer();
  20. //timer.schedule(task,calendar.getTime());
  21. //timer.schedule(task,calendar.getTime(),2000);
  22. //timer.schedule(task,2000);
  23. timer.schedule(task,2000,3000);
  24. }
  25. }

以上就是怎么使用Java schedule实现Timer的定时调度函数的详细内容,更多关于怎么使用Java schedule实现Timer的定时调度函数的资料请关注九品源码其它相关文章!