【发布时间】:2012-09-06 02:41:08
【问题描述】:
这个问题几乎涵盖了所有内容。如果我将 N 个块放入 NSManagedObjectContext 的队列中,它会按顺序执行它们吗,有保证,还是有可能其中一些可能会被打乱?
【问题讨论】:
标签: objective-c ios xcode core-data
这个问题几乎涵盖了所有内容。如果我将 N 个块放入 NSManagedObjectContext 的队列中,它会按顺序执行它们吗,有保证,还是有可能其中一些可能会被打乱?
【问题讨论】:
标签: objective-c ios xcode core-data
我看不出为什么 NSManagedObjectContext 不会在内部使用 GCD,而且 GCD 队列是严格的 FIFO。当然,我没有证据来证实这一点,但这对我来说非常有意义,因为performBlock 的目标是线程安全,并且在给定的上下文中一次只执行一个操作,为什么 Apple 会费心从当一个完美功能的 (GCD) 已经存在时,就开始了。
【讨论】:
.PrivateQueueConcurrencyType 类型的 MOC - 所以基本上是一个临时的 MOC,然后它是并发的,虽然它们以 FIFO 开始,但它们不会以相同的顺序完成,而只是对于performBlock,它会发生吗,它也发生在我身上。我最后一个 save 块入队,但其他块最后完成,这给我带来了麻烦。