明显的方法是为后台线程专门创建一个托管对象上下文,但是在Apple’s Core Data Programming Guide中我读了这一行:
A persistent store coordinator provIDes to its managed object contexts the façade of one virtual store. For completely concurrent operations you need a different coordinator for each thread.
所以这里的catch:你不能有两个NSPersistentStoreCoordinators提供对同一个商店的访问.但是,marcus Zarra的核心数据书认为NSPersistentStoreCoordinator是线程安全的,并且将序列化I / O请求(第157页).
有人可以为我清除这个吗?在另一个线程上运行第二个托管对象上下文是否可能与主线程共享相同的NSPersistentStoreCoordinator?还是更简洁的是NSPersistentStoreCoordinator线程安全?
解决方法 Zarra后来指出,上下文锁定了商店,所以在线程之间使用相同的NSPersistentStoreCoordinator是可以的.总结Although the NSPersistentStoreCoordinator is not thread safe either,the NSManagedobjectContext kNows how to lock it properly when in use. Therefore,we can attach as many NSManagedobjectContext objects to a single NSPersistentStoreCoordinator as we want without fear of collision.
以上是内存溢出为你收集整理的iphone – NSPersistentStoreCoordinator线程安全吗?全部内容,希望文章能够帮你解决iphone – NSPersistentStoreCoordinator线程安全吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)