【发布时间】:2012-02-21 08:48:45
【问题描述】:
我需要更新 coredata 数据库中的很多对象。 我在一个单独的线程中执行此更新以避免阻塞用户界面并在此操作期间显示一个简单的 HUD。 我能遇到一些协调问题吗?
谢谢
【问题讨论】:
标签: iphone multithreading core-data
我需要更新 coredata 数据库中的很多对象。 我在一个单独的线程中执行此更新以避免阻塞用户界面并在此操作期间显示一个简单的 HUD。 我能遇到一些协调问题吗?
谢谢
【问题讨论】:
标签: iphone multithreading core-data
请注意 coredata 不是线程保存。
Apple 提供的可能解决方案:
为每个线程创建一个单独的托管对象上下文并共享一个 单个持久存储协调器。这是 通常推荐的方法。
创建单独的托管对象上下文和持久存储 每个线程的协调员。这种方法提供了更大的 以更大的复杂性为代价的并发性(特别是如果 您需要在不同的上下文之间传达变化)和 内存使用量增加。
如果从后台线程更新模型时多次使用第一个选项。它似乎有效。
【讨论】: