我想为主线程使用一个ManagedObjectContext
,使用NSOperation
为后台线程分开一个,就像Apple建议的那样。而且,每个ManagedObjectContext
共享相同的持久性存储。在核心数据的后台线程上使用提取请求
可能会在主线程上发生取数,因为我使用核心数据填充表视图。
在后台中,我需要访问存储图像名称的NSManagedObject
属性。然后,后台线程将创建并缓存这些图像,这是创建后台线程的主要原因。
鉴于此,如果两个线程都尝试访问持久性存储,是否存在任何危险(如锁定),因为两者都可能同时从中获取数据?
好吗?我在苹果文档中没有读到任何有关这方面的信息。你能指出我的来源吗? – 2012-03-08 00:06:42
我从来没有在文档中找到它。这是辛苦赚来的经验和一些长时间的调试会议。如果您将两个不同的线程不断写入此答案中的相同NSPSC – amattn 2012-03-08 00:13:58
示例代码,则很容易重新生成代码:http://stackoverflow.com/questions/5236860/app-freeze-on-coredata-save/5237031#5237031 – amattn 2012-03-10 15:14:36