首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScheduledExecutorService或ScheduledThreadPoolExecutor

ScheduledExecutorService或ScheduledThreadPoolExecutor
EN

Stack Overflow用户
提问于 2015-09-10 10:07:52
回答 4查看 7.8K关注 0票数 13

我正在构建一个Android应用程序,它必须定期在服务中做一些事情。我发现使用ScheduledThreadPoolExecutorScheduledExecutorService比使用Timer更好。

有人能解释ScheduledExecutorServiceScheduledThreadPoolExecutor之间的区别吗?哪一个更适合安卓?

更新

我刚刚发现这篇文章这个职位解释了实现重复周期性任务的几种方法之间的区别。在我的例子中,ScheduledThreadPoolExecutorAlarmManager更适合。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-09-10 10:48:53

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

由于不能直接实例化接口,所以必须通过直接实例化ScheduledThreadPoolExecutor或通过工厂方法(如返回ScheduledThreadPoolExecutor实例的java.util.concurrent.Executors )来使用实现。

e.g

代码语言:javascript
复制
ScheduledExecutorService scheduler =
 Executors.newScheduledThreadPool(1);

scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS); //returns a ScheduledFuture

看看Andriod的预定执行者服务使用情况

票数 9
EN

Stack Overflow用户

发布于 2015-09-10 10:15:40

这是一样的,ScheduledThreadPoolExecutorScheduledExecutorService的一个实现。

票数 3
EN

Stack Overflow用户

发布于 2015-09-10 10:16:06

使用执行器创建ScheduledThreadPoolExecutor

你也可以看看这个

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

如果您想定期使用它,则应该使用此方法。

scheduleAtFixedRate (可运行,长initialDelay,长周期,TimeUnit时间单位)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32498893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档