Java实现Timer的定时调度函数schedule的四种用法

 更新时间:2023年04月24日 14:22:06   作者:星辰_大海  
本文主要介绍了Java实现Timer的定时调度函数schedule的四种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

schedule的四种用法

schedule(task,time)

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

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

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    private Integer cout = 0;
    @Override
    public void run() {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
        System.out.println("NO.1");
    }
    public static void main(String[] args) {
        MyTimerTask task = new MyTimerTask();
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println(format.format(calendar.getTime()));
        calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
        Timer timer = new Timer();
        timer.schedule(task,calendar.getTime());
 
    }
}

schedule(task,time,period)

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

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

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    private Integer cout = 0;
    @Override
    public void run() {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
        System.out.println("NO.1");
    }
    public static void main(String[] args) {
        MyTimerTask task = new MyTimerTask();
        Calendar calendar= Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println(format.format(calendar.getTime()));
        calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
        Timer timer = new Timer();
       //timer.schedule(task,calendar.getTime());
        timer.schedule(task,calendar.getTime(),2000);
    }
}

schedule(task,delay)

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

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

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    @Override
    public void run() {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
        System.out.println("NO.1");
    }
    public static void main(String[] args) {
        MyTimerTask task = new MyTimerTask();
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println(format.format(calendar.getTime()));
        //calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
        Timer timer = new Timer();
        //timer.schedule(task,calendar.getTime());
        //timer.schedule(task,calendar.getTime(),2000);
        timer.schedule(task,2000);
    }
}

schedule(task, delay,period)

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

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
 
public class MyTimerTask extends TimerTask {
    @Override
    public void run() {
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println("Current Time:"+format.format(calendar.getTime()));//获取当前系统时间
        System.out.println("NO.1");
    }
    public static void main(String[] args) {
        MyTimerTask task = new MyTimerTask();
        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
        System.out.println(format.format(calendar.getTime()));
        //calendar.add(Calendar.SECOND,3);//获取距离当前时间3秒后的时间
        Timer timer = new Timer();
        //timer.schedule(task,calendar.getTime());
        //timer.schedule(task,calendar.getTime(),2000);
        //timer.schedule(task,2000);
        timer.schedule(task,2000,3000);
    }
}

到此这篇关于Java实现Timer的定时调度函数schedule的四种用法的文章就介绍到这了,更多相关Java schedule内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis多个字段模糊匹配同一个值的案例

    Mybatis多个字段模糊匹配同一个值的案例

    这篇文章主要介绍了Mybatis多个字段模糊匹配同一个值的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • springboot项目中常用的工具类和api详解

    springboot项目中常用的工具类和api详解

    在Spring Boot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖 Spring 原生工具、第三方库(如Hutool、Guava) 和 Java 自带工具,本文给大家介绍springboot项目中常用的工具类和api,感兴趣的朋友一起看看吧
    2025-04-04
  • java实现简易局域网聊天功能

    java实现简易局域网聊天功能

    这篇文章主要为大家详细介绍了java实现简易局域网聊天功能,使用UDP模式编写一个聊天程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • SpringBoot之导入静态资源详解

    SpringBoot之导入静态资源详解

    今天带大家学习SpringBoot导入静态资源的过程,文中介绍的非常详细,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • servlet监听器的学习使用(三)

    servlet监听器的学习使用(三)

    这篇文章主要为大家详细介绍了servlet监听器学习使用的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • java 分割csv数据的实例详解

    java 分割csv数据的实例详解

    这篇文章主要介绍了java 分割csv数据的实例详解的相关资料,这里提供了简单实例,需要的朋友可以参考下
    2017-07-07
  • Java8中forEach语句循环一个List和Map

    Java8中forEach语句循环一个List和Map

    这篇文章主要给大家介绍了关于Java8中forEach语句循环一个List和Map的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Spring之Environment类的使用方式

    Spring之Environment类的使用方式

    这篇文章主要介绍了Spring之Environment类的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java Redis Redisson配置教程详解

    Java Redis Redisson配置教程详解

    这篇文章主要介绍了Java Redis Redisson配置教程,包括Session共享配置及其他Redisson的Config配置方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • java null转换为字符串的三种方法

    java null转换为字符串的三种方法

    在Java开发中,正确处理null值至关重要,以避免空指针异常,本文介绍了三种常见的null值转字符串方法:三元运算符、Objects.toString方法、String.valueOf方法,感兴趣的可以了解一下
    2024-10-10

最新评论