没有并发性的coredata多线程

时间:2012-02-21 08:48:46

标签: iphone multithreading core-data

我需要更新coredata数据库中的很多对象。 我在一个单独的线程中执行此更新,以避免在此操作期间阻止用户界面并显示简单的HUD。 我可以有一些纠结的麻烦吗?

感谢

1 个答案:

答案 0 :(得分:0)

请注意coredata不是线程保存。

Apple提供的可能解决方案:

  
      
  1. 为每个线程创建一个单独的托管对象上下文并共享一个   单个持久性存储协调器。这是   通常推荐的方法。

  2.   
  3. 创建单独的托管对象上下文和持久性存储   每个线程的协调员。这种方法提供了更多   以更高的复杂性为代价的并发性(特别是如果   你需要在不同的上下文之间传递变化)和   增加内存使用量。

  4.   

如果从后台线程更新模型时多次使用第一个选项。它似乎有效。