2012-04-23 17 views
6

2つのリストを結合する必要があります。それぞれのリストは、別々の非同期呼び出しの後に戻されます。 Asyncは、どのようにしてこれらのように最適なコーディネートを行いますか?別の非同期タスクが完了するまで待つためのSDKメソッドはありますか?Androidどのように同期する2つの非同期タスク?

+0

どのように両方のasynctaskの作業を1つに組み合わせるのですか? – dmon

+0

または、AsyncTask.executeOnExecutor(singleThreadPoolExecutor)を使用してキューイングの実行を処理します。 – yorkw

答えて

0

JavaにはFutureクラスなどの素敵なものがあります。このフレームワークを説明するためにここではネット上に多くのリソースがあります。とにかく、1つの非同期タスクを持つことは、実際には2つの非同期タスクを同時に実行する必要はありませんが、より良いかもしれません。あなたがいないgetStatus()を呼び出して通話がAsyncTaskのインスタンスは、タスクが終了したりしている場合、あなたは、後で確認するために、このインスタンスを保存することが返す

5

​​単一doInBackgroundの両方の部分を行うことができますので、あなたのコードは次のようになります。

と最後に終了するタスクは、新しいタスクを開始して結果を結合することができます。

0

本当に必要に応じています。

到着するまでにすべてのデータを待つ必要がありますか?アクティビティで同期ブロック機能を使用して機能を呼び出すだけではない場合

はいの場合、それらの機能が1回しか動作しないと予想しますか?したがって合計で2つ(またはX)?おそらくあなたがチェックすることができます:CoundDownLacth(http://developer.android.com/reference/java/util/concurrent/CountDownLatch.html)

関連する問題