0

有人可以告诉线程和AsynTask之间的区别吗~我不得不这样的事情:

class A{

  int nTmp;
  ClassB BTmp = new ClassB();
  ClassC CTmp = new ClassC();

//I want to put the next two lines into a separate thread, because they will consume so much time
//and I want to display a ProgressDialog when do this two lines

   Method1(nTmp, BTmp);
   CTmp = Method2();

   if(Method2(CTmp)){
      return true;
   }
   return false;
}

这是我的问题:

  1. 如果我使用新线程,我无法将属于 A 类的 [nTmp] 和 [BTmp] 传递给单独的线程。
  2. 因为我想使用这两行的结果,所以当它必须显示进度对话框时,我必须在 UI 线程中等待结果 [CTmp]。
  3. 我尝试了AsynTask,但仍然存在问题2。

我发现对我来说重点是如何通过显示 progressdialog 来等待其他线程的结果。有班级可以做那件事吗?

4

1 回答 1

0

您不应该等待其他任务 B 完成,而是任务 B 应该告诉任务 A 它已完成。根据您的方法的用途,您还可以使用其他功能来启动后台处理,例如 IntentService。AsyncTask 很可能会为您提供最好的服务。

于 2012-07-17T11:52:49.923 回答