我知道 NSManagedObjectContext
不是线程安全的,但我想在后台执行获取和更新。所以我对我是否可以做到这一点有疑问。
我有一个访问核心数据的单例,所以我想创建一个串行 dispatch_queue_t 可以串行执行所有请求。这可以吗,因为我不确定是否所有请求都会在同一个线程中执行,但不会有任何并发操作,因为它是串行的。
最佳答案
不需要创建串行 dispatch_queue_t
只需信任 NSManagedObjectContext
来处理它,只需使用 performBlock:
& performBlockAndWait:
[context performBlock:^{
// do fetches or updates here and do not worry about threads,
// just make sure your context has a proper concurrencyType
}];
关于multithreading - dispatch_queue 和核心数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22255504/