package javaplay.thread.test;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class TraditionalTimerTest {
static int count = 0;
public static void main(String[] args) {
// new Timer().schedule(new TimerTask() {
//
// @Override
// public void run() {
// System.out.println("bombing!");
//
// }
//
// }, 3000, 3000);
class MyTimerTask extends TimerTask {
@Override
public void run() {
count = (count + 1) % 2;
System.out.println("bombing!");
new Timer().schedule(/*
* new TimerTask() {
*
* @Override public void run() {
* System.out.println("bombing!!"); }
*
* }
*/new MyTimerTask(), 2000 * (1 + count));
}
}
// 方式一
new Timer().schedule(new MyTimerTask(), 2000);
// 方式二
new Timer().schedule(new MyTimerTask1(), 2000);
// new Timer().scheduleAtFixedRate(TimerTask, Date, long);
// 如果定义周一到周五的凌晨三点呢?
// 开源工具quartz,知道即可,以后碰不到就当不知道
// 碰到了看demo15分钟即可学会 知道就是一大进步
// 把while注释一样会执行定时器
while (true) {
System.out.println(new Date().getSeconds());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
类MyTimerTask1
package javaplay.thread.test;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTask1 extends TimerTask {
@Override
public void run() {
System.out.println("bombing!");
new Timer().schedule(new MyTimerTask2(), 2000);
}
}
类MyTimerTask2:
package javaplay.thread.test;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimerTask2 extends TimerTask {
@Override
public void run() {
System.out.println("bombing!!");
new Timer().schedule(new MyTimerTask1(), 4000);
}
}