0

我正在寻找一种 CoreData 设计模式,以确保线程安全的“获取或创建”。我有一种情况,两个不同的线程可能同时在寻找相同的记录。如果未找到此记录,则由线程创建一个。不幸的是,两个线程都没有找到这条记录,所以它们都创建了相同的记录。

4

1 回答 1

2

T雷迪,

一种方法是使用私有队列 MOC 来进行所有创建——如果您愿意,可以使用创建 MOC。这样,您可以从您想要的任何 MOC 进行提取,如果失败,您在创建 MOC 时重新执行提取,如果在那里失败则创建它。这门学科将迫使您始终进行有序测试,并且没有重复的创作。您将需要通过子 MOC 关系或通过“已保存”合并通知来管理跨 MOC 协调。

安德鲁

于 2012-12-11T13:14:22.977 回答