2011-08-27 33 views
0

我有一个单例类,我想从多个线程访问它。该类从核心数据返回数据。我有两个nsmanagedobjectcontext为每个线程。我应该将nsmanagedobjectcontext从每个线程传递给单例类吗?核心数据是单线程安全的吗?

回答

2

从不同线程的不同管理对象上下文访问核心数据是安全的。您应该以某种方式将托管对象上下文传递给您的单例。无论你在单例类中的代码是否是线程安全的,都取决于你。

另一种选择是为所有线程使用一个托管对象上下文,但在访问任何Core Data属性之前锁定持久存储。不过,多个托管对象上下文更可取。