我需要安排一些将来要完成的工作。我可以通过两种方式做到这一点:
创建
TimerTask
并执行timer.schedule(...);
使用
Executors.newScheduledThreadPool(1)
:ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); ScheduledFuture <?> scheduleHandle = scheduler.schedule(pushExternalRunnable, runScheduleDate.getTime() - now.getTime(), TimeUnit.MILLISECONDS);
这两种安排未来工作的方式有什么区别?