我正在执行两个扩展ASyncTask
的类,它们都有不同的功能,但由于second
类我的第一堂课是滞后的。所以我想知道的是,有没有更好的代码解决方案,以便两个操作都能执行任务而不需要等待其他操作?
已更新代码
对于onCreate()
new connection().execute(); //
由同一个类执行的一些任务称为
public class connection extends AsyncTask {
@Override
protected Object doInBackground(Object... arg0) {
//some operation
return value;
}
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
String m = String.valueOf(o);
if (o != null) {
someoperation
} else {
edittxt.setTextColor(Color.RED);
edittxt.setText("No Internet Connection");
}
}
}
同样地,我正在执行我所拥有的其他课程。
答案 0 :(得分:2)
您可以将AsyncTask.executeOnExecutor
与THREAD_POOL_EXECUTOR
一起使用,默认执行者为SERIAL_EXECUTOR
。
答案 1 :(得分:0)
您可以创建两个单独的线程并执行操作。它将隔离,所有操作都将执行异步。
final Handler handler = new Handler();
Thread operation1 = new Thread(new Runnable() {
@Override
public void run() {
doOperation1();
handler.run(new Runnable(){
@Override
public void run() {
onPostExecute1();
}
});
}
});
Thread operation2 = new Thread(new Runnable() {
@Override
public void run() {
doOperation2();
handler.run(new Runnable(){
@Override
public void run() {
onPostExecute2();
}
});
}
});
operation1.start();
operation2.start();