请教!java定时器TimerTask 如何立即停止定时 不用再运行一个周期
this.cancel();只能在下一个周期才能停止,我想当我想要停止的时候立即停止
比如当我输入 结束1 的时候 立即停止 启动1 的定时,不会在1分钟后停止
比如当我输入 结束1 的时候 立即停止 启动1 的定时,不会在1分钟后停止
public static void main(String[] args) throws InterruptedException {
while(true){
System.out.print("输入");
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
System.out.println("输入数据:"+read);
if(read.equals("启动1")){
new MailSend().triger("2019-06-11 16:05:00","sssssssssss",5,60 * 1000);
}else if(read.equals("启动2")){
new MailSend().triger("2019-06-11 09:30:00","ddddddddddd",6,180 * 1000);
}else if(read.equals("结束1")){
new MailSend().setA(5);
}else if(read.equals("结束2")){
new MailSend().setA(6);
}
}
}
public void triger(String date1,String s,int j,long tses) throws InterruptedException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
try {
date = sdf.parse(date1);
} catch (ParseException e) {
e.printStackTrace();
}
TimerTask task = new TimerTask() {
@Override
public void run() {
if(a == j){
this.cancel();
System.out.println("结束任务");
return;
}
System.out.println(sdf.format(new Date()) + "-------" + s);
}
};
Timer timer = new Timer();
long delay = 0;
long intevalPeriod = 1000;
timer.scheduleAtFixedRate(task, date, tses);
}
...全文
相关推荐
java timer定时器详解(附详细代码)
自己写的java timer控件定时器详解(附详细代码),已通过调试并运行。
Java 定时器(Timer,TimerTask)详解及实例代码
主要介绍了 Java 定时器(Timer,TimerTask)详解及实例代码的相关资料,需要的朋友可以参考下
使用java定时器的几种方式
java中实现定时器的三种方式,qutarz+spring, spring-task, java Timer
Java 中Timer和TimerTask 定时器和定时任务使用的例子
主要介绍了Java 中Timer和TimerTask 定时器和定时任务使用的例子,非常具有实用价值,需要的朋友可以参考下
Handler和TimerTask实现的简易定时器
用Handler和Timertask实现一个简单的定时器,一个简单的demo


Web 开发

