CoreData 和多线程环境
CoreData and multithreading environment
我的应用程序喜欢多线程,我不想让任何东西破坏核心数据
当谈到变量时,我们可以安全地使用@Synchronized 来确保它不会损坏...但是对于整个核心数据,有什么办法可以做到这一点吗?
欢迎提出任何建议或方法
不要将 @synchronize
与 Core Data 一起使用。你只需要遵循 Core Data 的线程规则:
- 上下文只能在与其关联的队列(主队列或专用队列)上使用
- 托管对象只能在与其关联的上下文所属的队列上使用(同样是主队列或专用队列)
我的个人规则:
- 如果它正在馈送 UI,请使用主队列上下文(最好是单个主队列上下文)
- 数据处理属于主队列上下文的子级私有队列上下文。
遵循这些规则,保证不会出现线程问题。
我的应用程序喜欢多线程,我不想让任何东西破坏核心数据
当谈到变量时,我们可以安全地使用@Synchronized 来确保它不会损坏...但是对于整个核心数据,有什么办法可以做到这一点吗?
欢迎提出任何建议或方法
不要将 @synchronize
与 Core Data 一起使用。你只需要遵循 Core Data 的线程规则:
- 上下文只能在与其关联的队列(主队列或专用队列)上使用
- 托管对象只能在与其关联的上下文所属的队列上使用(同样是主队列或专用队列)
我的个人规则:
- 如果它正在馈送 UI,请使用主队列上下文(最好是单个主队列上下文)
- 数据处理属于主队列上下文的子级私有队列上下文。
遵循这些规则,保证不会出现线程问题。