Java AsyncTask中的doInBackground是否可能导致竞争条件?

Java AsyncTask中的doInBackground是否可能导致竞争条件?,java,android,android-asynctask,Java,Android,Android Asynctask,从AsyncTask上的doInBackground方法向UI返回结果是否有可能导致意外的竞争条件?使用“get”可以使UI等待计算返回结果,但这似乎不符合在后台运行任务的目标 相关文件: doInBackground在另一个线程上运行,因此它当然会导致竞态条件——只要有两个线程,或者一个线程和异步事件传入,就可以有竞态条件。您必须始终编写代码以避免它们。但是,将值从doInBackground返回到onPostExecute将不会发生冲突,因此您确实有一种在线程之间传递数据的安全方法,而无需进

从AsyncTask上的doInBackground方法向UI返回结果是否有可能导致意外的竞争条件?使用“get”可以使UI等待计算返回结果,但这似乎不符合在后台运行任务的目标

相关文件:


doInBackground在另一个线程上运行,因此它当然会导致竞态条件——只要有两个线程,或者一个线程和异步事件传入,就可以有竞态条件。您必须始终编写代码以避免它们。但是,将值从doInBackground返回到onPostExecute将不会发生冲突,因此您确实有一种在线程之间传递数据的安全方法,而无需进行争用。

谢谢,我原以为/希望将值返回到onPostExecute将避免争用,但我不确定。谢谢你这么快的回复。延迟4分钟后我将接受你的答复。