java定时器

博客围绕Java定时器及调度展开,虽未给出具体内容,但从标签可知涉及定时器相关信息技术知识,如Java定时器的使用及调度功能。
java原生的timer
1、设置延迟1s执行
   timer.schedule(TimerTask task, long delay)
2、设置延迟1s执行,每隔2s执行一次
   timer.schedule(TimerTask task, long delay, long period)
3、指定时间点执行
   timer.schedule(TimerTask task, Date time)
4、指定开始执行的时间,每隔1s执行,如果当前时间>指定时间,则立即执行
   timer.schedule(TimerTask task, Date firstTime, long period)
5、设置延迟1s执行,每隔2s执行一次
   timer.scheduleAtFixedRate(TimerTask task, long delay, long period)
6、指开始执行的时间,每隔1s执行,如果当前时间>指定时间,则下次执行时间为当前时间+period
   timer.scheduleAtFixedRate(TimerTask task, Date firstTime, long period)



import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerTest {
    public static void main(String[] args) throws Exception {
        //timer1();
        //timer2();
        //timer3();
        timer4();
        //timer6();
    }

    /**
     * 设置延迟1s执行
     */
    public static void timer1() {
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("-=-=-=");
                timer.cancel();
            }
        }, 1000);
    }

    /**
     * 设置延迟1s执行,每隔2s执行一次
     */
    public static void timer2() {
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("-=-=-=-=-=");
            }
        }, 1000, 2000);
    }

    /**
     * 指定时间点执行
     *
     * @throws Exception
     */
    public static void timer3() throws Exception {
        Date time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-02-02 12:12:00");
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("========" + System.currentTimeMillis());
            }
        }, time);
    }

    /**
     * 指定开始执行的时间,每隔1s执行,如果当前时间>指定时间,则立即执行
     *
     * @throws Exception
     */
    public static void timer4() throws Exception {
        Date time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-02-02 12:12:00");
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                System.out.println("========" + System.currentTimeMillis());
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }, time, 1000);
    }

    /**
     * 设置延迟1s执行,每隔2s执行一次
     */
    public static void timer5() {
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                System.out.println("===========");
            }
        }, 1000, 2000);
    }

    /**
     * 指开始执行的时间,每隔1s执行,如果当前时间>指定时间,则下次执行时间为当前时间+period
     *
     * @throws Exception
     */
    public static void timer6() throws Exception {
        Date time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-02-02 12:12:00");
        Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                System.out.println("===========");
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }, time, 2000);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值