假设CoreData堆栈配置为使用Sqlite作为持久性机制。
据我所知,ManagedObject没有ManagedObjectContextinstances是线程安全的。那么PersistentStoreManager呢,它是线程安全的吗?
换句话说,如果我有多个线程读写同一个持久核心数据存储,我应该实现某种同步解决方案吗?
答案 0 :(得分:1)
与大多数数据库系统一样,SQLite实现了自己的并发机制来解决线程/用户冲突。所以不,你不需要自己动手。
也就是说,如果你要进行大量的写入争用,SQLite并不理想。 SQLite在写入期间锁定整个数据库,因此您应该尝试并最小化发生的并发写入量。
有关SQLite并发的更多信息可以在这里找到:
http://www.sqlite.org/lockingv3.html