异步任务线程源

时间:2012-09-26 16:34:12

标签: android

我想知道异步任务和线程之间的关系?每一个都创建一个新的,它是缓存,汇集。

2 个答案:

答案 0 :(得分:3)

默认情况下,Asynctask使用串行执行器,因此单个线程用于在单个进程中执行所有asynctasks。但你可以改变它。

检查doc

  

启动HONEYCOMB,任务将重新开始执行   线程,以避免并行引起的常见应用程序错误   执行。如果你真的想要并行执行,你可以使用   executeOnExecutor(Executor,Params ...)此方法的版本   THREAD_POOL_EXECUTOR;

您还可以查看Asynctask here

的来源

答案 1 :(得分:0)

从Android文档本身,AsyncTasks允许“无痛多线程”,因此AsyncTasks显然在后台使用线程。

我最近在Eclipse中使用DDMS插件描述了我的应用程序,这是一个以常规(非常接近)间隔启动AsyncTasks的应用程序。使用DDMS,您可以看到当前运行的线程数及其名称。

从我在那里看到的,AsyncTasks使用线程池来管理AsyncTasks。在我的例子中,有5个线程名为“AsyncTask#1”到“AsyncTask#5”,在一个循环中一个接一个地激活。

希望这能回答你问题的一部分!