记时器
package com.test;import java.util.Calendar;import java.util.Timer;import java.util.TimerTask;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;public class ThreadTest5{/** * @param args */public static void main(String[] args){timerMethod4();}private static void timerMethod1(){Timer timer = new Timer();System.out.println(Calendar.getInstance().get(Calendar.SECOND));timer.schedule(new TimerTask(){@Overridepublic void run(){System.out.println(Calendar.getInstance().get(Calendar.SECOND));System.out.println("running");}}, 5000, 2000);}private static void timerMethod2(){final Timer timer = new Timer();System.out.println(Calendar.getInstance().get(Calendar.SECOND));class MyTimerTask extends TimerTask{@Overridepublic void run(){System.out.println(Calendar.getInstance().get(Calendar.SECOND));System.out.println("running");timer.schedule(new MyTimerTask(), 3000);}};timer.schedule(new MyTimerTask(), 2000);}private static int i = 0;private static void timerMethod3(){final Timer timer = new Timer();System.out.println(Calendar.getInstance().get(Calendar.SECOND));class MyTimerTask extends TimerTask{@Overridepublic void run(){System.out.println(Calendar.getInstance().get(Calendar.SECOND));System.out.println("running");if(i++ % 2 == 0){timer.schedule(new MyTimerTask(), 3000);}else{timer.schedule(new MyTimerTask(), 2000);}}};timer.schedule(new MyTimerTask(), 2000);}private static void timerMethod4(){final ScheduledExecutorService pool = Executors.newScheduledThreadPool(1);System.out.println(Calendar.getInstance().get(Calendar.SECOND));class MyTask implements Runnable{public void run(){System.out.println(Calendar.getInstance().get(Calendar.SECOND));System.out.println("running");if(i++ % 2 == 0){pool.schedule(new MyTask(), 3, TimeUnit.SECONDS);}else{pool.schedule(new MyTask(), 2, TimeUnit.SECONDS);}}}pool.schedule(new MyTask(), 2, TimeUnit.SECONDS);}}