要求:使用定时器,间隔 4 秒执行一次,再间隔 2 秒执行一次,以此类推执行
package multiThread;
import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest extends TimerTask {
private static volatile int count = 0;
@Override
public void run() {
count = (count+1)%2; //结果为0或1交替
System.err.println("执行定时任务,隔两秒四秒交替打印");
new Timer().schedule(new TimerTest(),2000+2000*count);
}
public static void main(String[] args) {
Timer timer = new Timer(); //设置一个定时器
timer.schedule(new TimerTest(),2000); //2秒后执行TimerTest中的run方法
while(true){ //每隔一秒打印一次
System.out.println(Calendar.getInstance().get(Calendar.SECOND));
try{
Thread.sleep(1000);
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}
运行结果: