同一NSManagedObjectContext对象上的多个并发perform()调用

问题描述 投票:0回答:1

当在同一个perform()对象上调用多个NSManagedObjectContext调用时,将按调用顺序一一执行吗?我认为这是真的,因为the document

Core Data使用线程(或序列化队列)限制来保护托管对象和托管对象上下文(请参阅核心数据编程)指南)。

这表明托管对象上下文及其线程具有1:1映射,并且所有perform()调用都是串行的。但令我感到恐惧的是,即使在苹果的文档中,我也找不到关于此的任何明确讨论。

在我的应用程序中,我使用NSPersistentContainer设置了CoreData堆栈,并创建了用于修改托管对象的专用背景上下文。可能会发生,当调用perform()调用时,先前的perform()调用尚未完成。因此,在这种情况下,必须一一执行它们。这就是为什么我想确认我的理解。

Note:我了解perform()是异步的,但这是从调用者的角度来看的。我要问的是从被呼叫者的角度。

ios core-data nsmanagedobjectcontext
1个回答
1
投票

是,多个执行调用将按相同的顺序排队并执行。

© www.soinside.com 2019 - 2024. All rights reserved.