首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们能创建两个运行在android上的ThreadPoolExecutor吗?

我们能创建两个运行在android上的ThreadPoolExecutor吗?
EN

Stack Overflow用户
提问于 2011-08-30 13:29:48
回答 1查看 1.6K关注 0票数 1

AsyncTask正在管理一个具有5个核心线程的线程池。一旦我们开始使用AsyncTask,它就会开始在安卓手机上设置这个线程池。

我不想AsyncTask的原因是因为我要创建一个服务,并从服务中启动线程,这意味着任务中没有太多的UI更新。然而,异步任务必须在UI线程上创建和执行。

因此,我将创建另一个不同的线程池,用于管理这类线程。我担心的是,如果我创建另一个有5个核心线程的线程池,会不会有太多的线程(10个核心线程)在android上运行?这会减慢它的速度并导致糟糕的性能吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2011-08-30 13:35:46

正如Alex所说,您将需要使用方法executeOnExecutor()来启动您自己的执行器。http://developer.android.com/reference/android/os/AsyncTask.html#executeOnExecutor%28java.util.concurrent.Executor,%20Params...%29

似乎有许多陷阱,所以请仔细阅读AsyncTask的整个页面。

所以,是的,您可以创建自己的ThreadPoolExecutor并在AsyncTask中使用它。

再看看这个,

Using ThreadPoolExecutor and AsyncTask

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

https://stackoverflow.com/questions/7239045

复制
相关文章

相似问题

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