CoreData 和多线程环境

CoreData and multithreading environment

我的应用程序喜欢多线程,我不想让任何东西破坏核心数据

当谈到变量时,我们可以安全地使用@Synchronized 来确保它不会损坏...但是对于整个核心数据,有什么办法可以做到这一点吗?

欢迎提出任何建议或方法

不要将 @synchronize 与 Core Data 一起使用。你只需要遵循 Core Data 的线程规则:

  • 上下文只能在与其关联的队列(主队列或专用队列)上使用
  • 托管对象只能在与其关联的上下文所属的队列上使用(同样是主队列或专用队列)

我的个人规则:

  • 如果它正在馈送 UI,请使用主队列上下文(最好是单个主队列上下文)
  • 数据处理属于主队列上下文的子级私有队列上下文。

遵循这些规则,保证不会出现线程问题。