java当中的定时器的几种使用方式
2024-08-26 00:02:49
这几天做的项目有个功能,就是定时执行一项服务,以下几种方法比较高效。不说了 直接撸代码:
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; /**
* Created by DELL on 2016/6/30.
*/
public class TimeTest {
public static void main(String[] args) {
// timer1();
// timer2();
// timer3();
timer4();
} // 第一种方法:设定指定任务task在指定时间time执行 schedule(TimerTask task, Date time)
public static void timer1() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("-------设定要指定任务--------");
}
}, 5000);// 设定指定的时间time,此处为2000毫秒
} // 第二种方法:设定指定任务task在指定延迟delay后进行固定延迟peroid的执行
// schedule(TimerTask task, long delay, long period)
public static void timer2() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("-------设定要指定任务--------");
}
}, 1000, 5000);
} // 第三种方法:设定指定任务task在指定延迟delay后进行固定频率peroid的执行。
// scheduleAtFixedRate(TimerTask task, long delay, long period)
public static void timer3() {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("-------设定要指定任务--------");
}
}, 1000, 2000);
} // 第四种方法:安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行.
// Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
public static void timer4() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12); // 控制时
calendar.set(Calendar.MINUTE, 0); // 控制分
calendar.set(Calendar.SECOND, 0); // 控制秒 Date time = calendar.getTime(); // 得出执行任务的时间,此处为今天的12:00:00 Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("-------设定要指定任务--------");
}
}, time, 1000 * 60 * 60 * 24);// 这里设定将延时每天固定执行
}
}
最新文章
- js的闭包概念
- 一个链式调用 setTimeout的例子
- 我的代码观——关于ACM编程风格与librazy网友的对话
- IOS学习网站
- Careercup - Facebook面试题 - 4713484755402752
- Word 查找和替换的通配符
- 浅谈GitLab与Git
- 机房收费系统合作版(三)——UI思索
- PHP 导入excel
- 有关 json对象 取出其中数据问题
- zabbix-proxy搭建
- Linux shell 脚本(三)
- mysql 查询近7天数据,缺失补0
- CentOS 7.0 上安装和配置 VNC 服务器
- Mission Impossible 6
- quartz 每天0点5分开始,以后每隔15分钟启动一次,23:50停止
- PHP02
- antd-mobile Picker组件默认值
- 【转】mybatis如何防止sql注入
- 吴恩达-coursera-机器学习-week4
热门文章
- jQuery中append()与appendTo()方法区别
- 伪类写border, transform: scale3d() 及兼容性
- Xcode 遇到 App Transport Security has blocked a cleartext HTTP 错误
- hduoj 4707 Pet 2013 ACM/ICPC Asia Regional Online —— Warmup
- vi/vim 键盘图 &; 替换
- BroadCast Receive 生命周期
- url组成部分
- 关于VOID *在cl与gcc的不同(无意中发现)
- yii框架中保存第三方登录信息
- 0422 数学口袋精灵app