两个AsyncTask(第二个​​不能完成)

时间:2013-11-28 13:04:09

标签: android android-asynctask

第一个AsyncTask是

protected String doInBackground(String... params) {
while(true)
//...getting chat messages from IRC server
}

点击按钮打开帐户后,我用json

启动另一个AsyncTask
protected String doInBackground(String... args) {



       JSONObject json = jsonParser.makeHttpRequest("https://"),"GET", params);
      //..........
}

第二个AsyncTask无法完成,因为第一个正在运行,不允许第二次获取连接。

如何设置暂停第一个AsyncTask并在完成第二个后恢复?暂停,因为我不能先停止

2 个答案:

答案 0 :(得分:2)

根据文件:

  

首次引入时,AsyncTasks在单个上串行执行   背景线程。从DONUT开始,这被改成了一个池   允许多个任务并行运行的线程。从...开始   HONEYCOMB,任务在单个线程上执行以避免常见   并行执行导致的应用程序错误。

     

如果您真的想要并行执行,可以调用   executeOnExecutor(java.util.concurrent.Executor,Object [])with   THREAD_POOL_EXECUTOR。

http://developer.android.com/reference/android/os/AsyncTask.html

答案 1 :(得分:2)

尝试使用另一个执行程序启动第二个AsyncTask ...

asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
相关问题