文章目录
方法schedule(TimerTask task,Date time)
该方法的作用就是在指定日期执行一次某任务。
package multiply.com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Run1 {
private static Timer timer = new Timer();
public static void main(String[] args) throws ParseException {
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("运行了,时间为:" + new Date());
}
};
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2021-10-31 17:57:00";
Date date = sdf.parse(dateString);
System.out.println("dateString : " + date.toLocaleString() + " CurrentDate : " + new Date().toLocaleString());
timer.schedule(task, date);
}
}
package multiply.com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Run1TimerIsDaemon {
private static Timer timer = new Timer(true);
public static void main(String[] args) throws ParseException {
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("运行了,时间为:" + new Date());
}
};
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2021-10-31 17:55:00";
Date date = sdf.parse(dateString);
System.out.println("dateString : " + date.toLocaleString() + " CurrentDate : " + new Date().toLocaleString());
timer.schedule(task, date);
}
}
dateString : 2021 Oct 31 18:00:20 CurrentDate : 2021 Oct 31 18:00:10
方法schedule(TimerTask task,Date firstTime,long period)
该方法是在指定日期后,按照指定的间隔周期性地无限循环地执行某一任务。
package multiply.com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Run {
public static void main(String[] args) throws ParseException {
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("运行了,时间为:" + new Date());
}
};
Timer timer = new Timer();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2021-11-1 10:21:00";
Date date = sdf.parse(dateString);
System.out.println("dateString : " + date.toLocaleString() + " CurrentDate : " + new Date().toLocaleString());
timer.schedule(task, date, 4000);
}
}
package multiply.com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Run2_1 {
public static void main(String[] args) throws ParseException {
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("A运行了,时间为: " + new Date());
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("A结束了,时间为: " + new Date());
}
};
Timer timer = new Timer();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2021-11-1 10:28:00";
Date date = sdf.parse(dateString);
System.out.println("dateString : " + date.toLocaleString() + " CurrentDate : " + new Date().toLocaleString());
timer.schedule(task, date,4000);
}
}
package multiply.com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Run2 {
public static void main(String[] args) throws ParseException {
Timer timer = new Timer();
TimerTask task1 = new TimerTask() {
private int count = 0;
@Override
public void run() {
System.out.println("A运行了,时间为: " + new Date());
count++;
if (count == 5) {
this.cancel();
}
}
};
TimerTask task2 = new TimerTask() {
@Override
public void run() {
System.out.println("B运行了,时间为: " + new Date());
}
};
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2021-11-1 10:38:00";
Date date = sdf.parse(dateString);
System.out.println("dateString : " + date.toLocaleString() + " CurrentDate : " + new Date().toLocaleString());
timer.schedule(task1, date, 4000);
timer.schedule(task2, date, 4000);
}
}
方法schedule(TimerTask task,long delay)
方法schedule(TimerTask task,long delay,long period)
方法scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
package multiply.com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Run3 {
public static void main(String[] args) throws ParseException {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
private int count = 0;
@Override
public void run() {
System.out.println("1 Begin 运行了,时间为:" + new Date());
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("1 End 运行了,时间为:" + new Date());
count++;
if (count == 5) {
timer.cancel();
}
}
};
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString1 = "2021-11-1 11:04:00";
Date date1 = sdf.parse(dateString1);
System.out.println("dateString 1 : " + date1.toLocaleString() + " CurrentDate : " + new Date().toLocaleString());
timer.scheduleAtFixedRate(task, date1, 3000);
}
}
package multiply.com.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class Run4 {
public static void main(String[] args) throws ParseException {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
private int count = 0;
@Override
public void run() {
System.out.println("1 Begin 运行了,时间为:" + new Date());
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("1 End 运行了,时间为:" + new Date());
count++;
if (count == 5) {
timer.cancel();
}
}
};
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString1 = "2021-11-1 11:08:00";
Date date1 = sdf.parse(dateString1);
System.out.println("dateString 1 : " + date1.toLocaleString() + " CurrentDate : " + new Date().toLocaleString());
timer.scheduleAtFixedRate(task, date1, 2000);
}
}