【问题标题】:AsyncTasks and thread-safe data objects?AsyncTasks 和线程安全的数据对象?
【发布时间】:2011-02-08 13:38:11
【问题描述】:

假设我的 Activity 有一个包含内容的列表对象。这个 Activity 启动了几个 AsyncTasks。当这些任务完成时,他们会在他们的 postExecute() 方法中修改这个列表(例如在其中添加东西)。这个列表应该是线程安全的吗?

我敢打赌,这不是必需的,因为 postExecute() 方法中的代码在 UI 线程中按顺序运行。所以他们不能同时修改列表。这是正确的吗?

【问题讨论】:

    标签: android thread-safety android-asynctask


    【解决方案1】:

    是的,你是对的。 postExecute() 在 UI 线程中执行,因此您的所有 AsyncTask 将按顺序(而不是同时)更新您的列表。

    在其他情况下,我建议您查看 Java 的 Collections 中的 synchronizedList

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 2016-05-15
      相关资源
      最近更新 更多