/** * @ClassName: TimerTest * @author: daniel.zhao * @date: 2018年10月15日 下午3:04:26 */ public class TimerTest { private static final Logger logger = Logger.getLogger(TimerTest.class.getSimpleName()); @Test public void test() throws IOException { Timer timer = new Timer(true); timer.schedule(new TimerTask() { @Override public void run() { logger.info("time: " + System.currentTimeMillis()); } }, 2000, 4000); // 2000表示第一次執行任務延遲時間,40表示之後每隔多長時間執行一次run裏面的任務 System.in.read(); } }
/** * @ClassName: ScheduledThreadPoolExecutorTest * @author: daniel.zhao * @date: 2018年10月15日 下午3:15:01 */ public class ScheduledThreadPoolExecutorTest { private static final Logger logger = Logger.getLogger(ScheduledThreadPoolExecutorTest.class.getSimpleName()); @Test public void test() throws IOException { ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(2); executor.scheduleAtFixedRate(new Runnable() { @Override public void run() { logger.info("time: " + System.currentTimeMillis()); } }, 2000, 40, TimeUnit.MILLISECONDS); // 2000表示首次執行任務的延遲時間,40表示每次執行任務的間隔時間,TimeUnit.MILLISECONDS執行的時間間隔數值單位 System.in.read(); } }