基本上我想要启动一些一个接一个地串行执行的线程。我正在使用Thread.join()
。但应用类型在ANR状态下挂起并进入。我想知道将一个AsyncTask放在一个循环中将一个接一个地串行执行所有任务,或者它们将并行执行???
for(String s : list)
{
new asynctask(s).execute();
}
答案 0 :(得分:2)
基本上我想要启动一些后续串行执行的线程 另一个。
在阅读此声明后,我立即想到这一点。您应该考虑使用IntentService而不是每次都创建新任务。
基本上是IntentService
IntentService通过Intent接收请求,其中包括 有关要完成的任务的一些信息。那么这个任务就是 添加到队列中,然后完成所有任务 顺序和异步。
使用IntentService
的优点是
无论活动发生什么,它都将保证操作至少具有“服务进程”优先级。强烈建议您按顺序下载多个文件。
在这里,您将找到有关如何实施IntentService
的非常好的教程。
http://mobile.tutsplus.com/tutorials/android/android-fundamentals-intentservice-basics/