我想启动两个异步任务,但第二个在第一个完成之前不会启动。
从我用谷歌搜索的内容来看,人们通常建议这种方法:
new MyAsyncTask().execute(params);
new MyAsyncTask().execute(params);
但是,我需要分别实例化它们并保留任务的句柄(例如传递消息)。因此,我有点这样做:
onStart()
{
taskA = new MyAsyncTask(paramsA);
taskB = new MyAsyncTask(paramsB);
}
onButtonPress()
{
taskA.execute();
taskB.execute();
}
编辑:我注意到 taskB 直到 taskA 完成才真正开始执行(它运行一个 tcp/ip 服务器,所以需要很长时间)。我不知道为什么。有什么想法或意见吗?