Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在寻找一种 CoreData 设计模式,以确保线程安全的“获取或创建”。我有一种情况,两个不同的线程可能同时在寻找相同的记录。如果未找到此记录,则由线程创建一个。不幸的是,两个线程都没有找到这条记录,所以它们都创建了相同的记录。
T雷迪,
一种方法是使用私有队列 MOC 来进行所有创建——如果您愿意,可以使用创建 MOC。这样,您可以从您想要的任何 MOC 进行提取,如果失败,您在创建 MOC 时重新执行提取,如果在那里失败则创建它。这门学科将迫使您始终进行有序测试,并且没有重复的创作。您将需要通过子 MOC 关系或通过“已保存”合并通知来管理跨 MOC 协调。
安德鲁