在Apple的核心数据文档Concurrency with Core Data中,他们列出了线程安全的首选方法,即为每个线程使用单独的NSManagedObjectContext和共享的NSPersistentStoreCoordinator。多线程使用核心数据(NSOperationQueue和NSManagedObjectContext)
如果我有一个在NSOperationQueue上一个接一个地运行的NSOperations,是否会有大量的开销为每个任务创建上下文?
由于NSOperationQueue的最大并发操作数为1,我的许多操作将使用相同的线程。我可以使用线程字典为每个线程创建一个NSManagedObjectContext吗?如果我这样做,我以后会在清理我的环境时遇到问题吗?
在这种情况下使用Core Data的正确方法是什么?
仅供参考 - 'lock'和'unlock'在iOS8和OSX 10.10中不推荐使用。建议是:“使用队列样式上下文和-performBlockAndWait:改为” – 2015-06-23 13:42:22