AsyncTask中的doInBackground可能会导致竞争状态吗?

问题描述:

将AsyncTask上的doInBackground方法的结果返回给UI是否有可能导致意外的竞争条件?使用'get'可以让UI等待计算返回结果,但是这似乎是在背景中运行任务时失败的目标。AsyncTask中的doInBackground可能会导致竞争状态吗?

相关文章:

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

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

+0

谢谢,我认为/希望将值返回给onPostexecute将避免比赛,但我不确定。谢谢你这么快回复。延迟4分钟后,我会接受你的回答。 – BusinessPlanQuickBuilder