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);
}
}
java定时器
最新推荐文章于 2025-06-15 20:46:17 发布
博客围绕Java定时器及调度展开,虽未给出具体内容,但从标签可知涉及定时器相关信息技术知识,如Java定时器的使用及调度功能。

3521

被折叠的 条评论
为什么被折叠?



