Разница между TimerTask и Executors.newScheduledThreadPool (1)

Мне нужно запланировать некоторую работу, которую нужно выполнить в будущем. Я могу сделать это двумя способами:

  1. Создайте TimerTask и выполните timer.schedule (...);

  2. Используйте Executors.newScheduledThreadPool (1) :

     ScheduledExecutorService scheduler = Executors.newScheduledThreadPool (1);
    ScheduledFuture  ScheduleHandle = scheduler.schedule (pushExternalRunnable, 
     runScheduleDate.getTime () - now.getTime (), TimeUnit.MILLISECONDS);
    

В чем разница между этими двумя способами планирования работы в будущем?

12
задан Rob Hruska 24 May 2011 в 14:10
поделиться