在AsyncTask中可以doInBackground可能导致竞争条件?

时间:2017-07-01 18:21:05

标签: java android android-asynctask

从AsyncTask上的doInBackground方法返回到UI是否有可能导致意外的竞争条件?使用'get'可以让UI等待计算返回结果,但这似乎打败了在后台运行任务的目标。

相关文件:

https://developer.android.com/reference/android/os/AsyncTask.html

1 个答案:

答案 0 :(得分:0)

doInBackground在另一个线程上运行,所以它当然会导致竞争条件 - 任何时候你有两个线程,或者一个线程和异步事件传入你可能会有竞争条件。你总是需要编码以避免它们。但是,从doInBackground到onPostExecute的值的返回不会,因此您可以安全地在线程之间传递数据而无需竞争。