Timer的定时调度函数schedule的四种用法
2024-10-21 03:08:35
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);
}
}
原文:https://blog.csdn.net/weixin_42103959/article/details/80432978
最新文章
- Usaco*Brownie Slicing
- .net下的跨域问题
- android在Data目录内置可删除的APP
- 【读书笔记】iOS-装箱
- 关于 swift 的图片多选问题
- objective-c 下面int 和 NSData数据 互相转换的方法
- 细究UTF-8,GB2312及ISO-8859-1区别
- JPA中的@MappedSuperclass
- POJ1942 Paths on a Grid(组合)
- 微软 Build 2016
- 【C#】Deep copy of objects
- [Luogu4074][WC2013]糖果公园
- 关于使用Mybatis的使用说明(一)【未完善待更新】
- Zepto整体概况
- 自动配置pom文件,构建maven项目jar包依赖关系,找到jar包运用到jmeter
- 【转发】Cookie存储的值大小限制和个数问题
- ptrace线程
- Mac下安装和配置Maven
- hanlp源码解析之中文分词算法详解
- Frobenius 范数
热门文章
- 镜像制作工具diskimage-builder介绍
- golang内置包管理工具go mod简明教程
- Java-数组工具类Arrays
- 【云原生 · Kubernetes】部署高可用 kube-controller-manager 集群
- thinkphp6文件上传自定义命名规则
- 【Shell脚本案例】案例3:批量创建100个用户并设置密码
- 详记apache-poi的使用,将word,excel,ppt转换为html
- Selenium4+Python3系列(十二) - 测试框架的设计与开发
- 说说真实Java项目的开发流程,以及面试前的项目准备说辞
- 三步快速搭建Typora图床(SM.MS+PicGo)