public void schedule(TimerTask task, long delay):task:要执行的任务 delay:延迟多少毫秒执行任务。
public void schedule(TimerTask task, long delay, long period):period:第一次任务执行之后,每隔多少毫秒循环执行任务。
1、delay 毫秒之后执行任务
new Timer().schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub System.out.println("bombing!"); } }, 3000);
2、首先 delay 毫秒后执行任务,然后每相隔 period 毫秒后循环执行任务。
new Timer().schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub System.out.println("bombing!"); } }, 3000,2000);
3、首先 delay 毫秒后执行任务,然后每隔两秒执行一次,在每隔3秒执行一次,如此循环。
new Timer().schedule(new MyTimerTask(), 2000); class MyTimerTask extends TimerTask{ //通过奇数偶数来判断要隔几秒。 //如果是奇数就隔4000 //如果是偶数就隔2000 static int count=0; @Override public void run() { count=(count+1)%2; System.out.println("bombing!"); // 使用了递归的思想 new Timer().schedule(new MyTimerTask(), 2000+2000*count); }
4、测试结果:
时间: 2024-10-07 06:38:47