ScheduledExecutorService或ScheduledThreadPoolExecutor

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

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

更新

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

Solutions Collecting From Web 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)