核心数据,MOC和多线程

时间:2010-07-20 03:15:22

标签: objective-c core-data

概念性问题:

我通过Core Data SQLite为iPhone应用程序分层存储数据。我希望绘制AND以根据对象的整个分层排列中的每个对象的属性执行计算。绘图和计算任务都可以访问相同的属性。很简单。但是,我预计在主线程上执行绘制和计算都会导致UI响应性出现问题。使用两个MOC来访问相同的数据,但在不同的线程上听起来对我来说听起来有些愚蠢(遍历树两次,每个线程一次)。老实说,我不相信多线程会有太多帮助。

在这种特殊情况下,有人会枚举通用选项以实现合理的应用性能吗?

感谢。

1 个答案:

答案 0 :(得分:3)

首先,在没有实际性能数据的情况下,不要做出这种类型的设计决策。您需要分析单线程和多线程方法。也就是说,使用Core Data进行多线程的最佳实践规定每个线程NSManagedObjectContext一个,但只需NSPersistentStoreCoordinator个{{1}}。因为行级缓存是在持久性存储协调器中完成的,所以多次遍历可能不会产生不合理的开销。