2017-02-08 8 views
0

私はAndroidアプリケーションを作成していて、AsyncTasksを使用するときに何か不思議に思っていました。ネットワーク要求を調整するクラスがあり、一度に1つのAsyncTaskだけを管理する必要があります。したがって、managerClassと同じ参照を持ち、同時に異なる関数を呼び出すAsyncTaskが複数ある場合 - その関数は一度に1つずつ実行されるか、最初の関数の一部が実行された後に最初の処理が終了することなく2番目の関数が実行されますか?asynctaskの順番で参照されるクラスから関数を呼び出す

+0

あなたはいつそのようなことが起こるのか保証しません。最初の> 2番目>の部分の部分が可能です。 – nhouser9

答えて

1

AsyncTasksを使用している場合は、executeを呼び出してexecuteOnExecutorを呼び出さない限り、各AsyncTaskは同じスレッドで順番に実行されます。したがって、UIスレッドがそのマネージャクラスにもアクセスしていない限り、あなたは安全です。しかし、現実的には、ロックを行い、重要な領域を必要に応じて作成する方法を学ぶべきでしょう。

関連する問題