0

誰かが Thread と 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. この 2 行の結果を使用したいので、進行状況ダイアログを表示する必要があるときに、UI スレッドで結果 [CTmp] を待機する必要があります。
  3. AsynTask を試しましたが、まだ問題 2 があります。

私にとってのポイントは、 progressdialog を表示して他のスレッドからの結果を待つ方法であることがわかりました。それができるクラスはありますか?

4

1 に答える 1

0

他のタスクBが完了するのを待つべきではありませんが、代わりにタスクBはタスクAにそれが終了したことを通知する必要があります。また、メソッドの目的に応じて、IntentServiceなど、バックグラウンド処理を開始するために使用できる他の機能があります。ほとんどの場合、AsyncTaskが最適です。

于 2012-07-17T11:52:49.923 に答える