ScheduledExecutorService或ScheduledThreadPoolExecutor

我正在构build一个Android应用程序,它必须定期在服务中执行某些操作。 我发现使用ScheduledThreadPoolExecutorScheduledExecutorServiceTimer更可取。

任何人都可以解释ScheduledExecutorServiceScheduledThreadPoolExecutor之间的区别,哪一个更适合Android?

更新

我刚刚发现这篇文章 , 这篇文章解释了几种实现重复定期任务的方法之间的区别。 在我的情况下, ScheduledThreadPoolExecutorAlarmManager更合适。

    Related of "ScheduledExecutorService或ScheduledThreadPoolExecutor"

    ScheduledExecutorService是一个接口(一个契约), ScheduledThreadPoolExecutor实现了这个接口。

    既然你不能直接实例化一个接口,你必须通过直接实例化ScheduledThreadPoolExecutor来实现实现,或者通过工厂方法(例如返回ScheduledThreadPoolExecutor实例的java.util.concurrent.Executors来使用实现。

    例如

     ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS); //returns a ScheduledFuture 

    看看Andriod的Scheduled Executor服务使用情况

    这是一样的, ScheduledThreadPoolExecutorScheduledThreadPoolExecutor的一个实现

    创buildScheduledThreadPoolExecutor使用执行程序

    你也可以看看这个

    http://tutorials.jenkov.com/java-util-concurrent/scheduledexecutorservice.html

    如果你想定期使用它,你应该使用这个方法

    scheduleAtFixedRate(Runnable,long initialDelay,long period,TimeUnit timeunit)