iphone - 在 Core Data 的后台线程上使用获取请求

标签 iphone ios multithreading core-data nsoperation

我想将一个 ManagedObjectContext 用于主线程,另一个使用 NSOperation 为后台线程单独使用,正如 Apple 所建议的那样。而且,每个 ManagedObjectContext 共享同一个持久存储。

获取可能发生在主线程上,因为我使用核心数据来填充 TableView 。

在后台,我需要访问存储图像名称的 NSManagedObject 属性。然后,后台线程会创建并缓存这些图片,这就是有后台线程的主要原因。

鉴于此,如果两个线程都试图访问持久存储,是否存在任何危险(如锁定),因为它们可能同时从中获取数据?

最佳答案

每个线程都需要自己的托管对象上下文,但所有线程都需要共享一个持久存储协调器 - 这将处理您描述的潜在问题。请参阅 Core Data Concurrency Programming Guide 中的更多信息.

关于iphone - 在 Core Data 的后台线程上使用获取请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610821/

相关文章:

ios - 登记机关答复无效

iphone - 脉冲动画

ios - 为什么 AlamofireImage 缓存不起作用?

iOS:如何从地标获取邮​​政编码

c# - 如何在 .NET 中创建固定大小的线程池?

c# - 如何在多线程中并行运行依赖任务?

Iphone - 用歌词写一个媒体播放器

ios - Multipear 连接框架设备连接问题

使用 ZBarSDK 时 iPhone 相机失去自动对焦

java - 主线程似乎没有被中断