2012-07-09 46 views
1

基本上我想开始一个接一个地串行执行的几个线程。我正在使用Thread.join()。但是应用程序类型挂起和进入ANR状态。我想知道把一个AsyncTask放到一个循环中会一个接一个地执行所有的任务,还是会并行执行?循环内的AsyncTask

for(String s : list) 
{ 
    new asynctask(s).execute(); 
} 
+2

考虑使用IntentService.You可以添加Queue.Which任务的线程连续非UI就会执行。 – 2012-07-09 06:21:57

回答

2

基本上我想要启动哪些 另一个之后连续依次执行的线程数。

阅读本声明后立即想到的是您应该考虑使用IntentService而不是每次创建新的任务。

基本上IntentService是

的IntentService接收经由意图,其中包括 可以完成该任务的某些信息的请求。然后将该任务 添加到队列中,然后按顺序和异步完成所有任务 。

使用IntentService的好处是

这将保证该操作将至少有“服务过程”优先,不管发生什么情况activity.It强烈建议当你要下载多个文件顺序。

在这里你会发现很好的教程,如何实施IntentService

http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/

+0

+1好答案。 – 2012-07-09 06:40:07

+0

@Vipul:非常感谢。 – 2012-07-09 06:53:57