ios - CoreData和多线程环境

标签 ios objective-c multithreading core-data synchronized

我的应用程序涉及多线程,我不希望任何东西破坏核心数据

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

欢迎任何建议或方法

最佳答案

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

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

  • 而我个人的规则是:
  • 如果要提供UI,请使用Main Queue上下文(最好是单个主队列上下文)
  • 数据处理属于专用队列上下文,而专用队列上下文是主队列上下文的子级。

  • 遵循这些规则,可以确保您没有线程问题。

    关于ios - CoreData和多线程环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32953559/

    相关文章:

    ios - SwiftUI adjustsFontSizeToFitWidth 等价

    ios - sizeWithFont:constraintedToSize: 已弃用,但 boundingRectWithSize 对我不起作用

    iphone - MKMapView 问题

    objective-c - 加快这种标准偏差方法

    cpu 内核与线程

    multithreading - 由于线程化,将值移出闭包

    ios - 如何更正上传到 IOS Connect : ERROR ITMS-90032: "Invalid Image Path - No image found at the path 时的 Phonegap Buil 错误

    ios - 数据不会从 JSON 解析加载到某些 Tableview 单元格上

    iphone - 一段时间后关闭 ViewController?

    java - 关于java线程生命周期