admin管理员组文章数量:1532440
近期工作中接触到java的定时器,记下自己在使用schedule方法遇到的小问题,时刻提醒自己对待程序要认真再认真。
先写个小例子:
package Demo;
import java.util.Timer;
public class TimeTaskDemo {
public static void main(String[] args){
Timer timer = new Timer();
timer.schedule(new Task(), 60 * 1000); // 60秒后执行Task类,只执行一次
//timer.schedule(new Task(), 1000, 60*1000); //1秒后每隔60秒执行Task类,重复执行
}
}
package Demo;
import java.util.TimerTask;
public class Task extends TimerTask {
public void run()
{
System.out.println("添加你想要执行的任务");
}
}
ps:笔者添加了定时器线程,本来想要添加的功能时1秒后重复执行Task类void schedule(TimerTask task, Date firstTime, long period),然而由于没有认真查看Schedule方法,匆忙选择了void schedule(TimerTask task, long delay),结果导致程序只在60秒后执行了一次Task方法。导致重新编码。
心得:越是时间紧,越是细节的东西,越要仔细查证。
Timer的构造方法如下:
Timer() 创建一个新计时器。
Timer(boolean isDaemon)创建一个新计时器,可以指定其相关的线程作为守护程序运行。
Timer(String name)创建一个新计时器,其相关的线程具有指定的名称。
Timer(String name, boolean isDaemon)创建一个新计时器,其相关的线程具有指定的名称,并且可以指定作为守护程序运。
Schedule重载方法如下:
void schedule(TimerTask task, Date time)安排在指定的时间执行指定的任务。
void schedule(TimerTask task, Date firstTime, long period)安排指定的任务在指定的时间开始进行重复的固定延迟执行。
void schedule(TimerTask task, long delay)安排在指定延迟后执行指定的任务。
void schedule(TimerTask task, long delay, long period)安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
版权声明:本文标题:java 定时器 schedule_java 定时器中schedule方法解析 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1725780231a1042167.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论