1
假設CoreData堆棧被配置爲使用Sqlite作爲持久性機制。如果我有多個線程訪問SQLite數據庫,我應該實現同步解決方案嗎?
據我所知沒有ManagedObject沒有ManagedObjectContextinstances是線程安全的。 PersistentStoreManager呢,線程安全嗎?
換句話說,如果我有多個線程讀寫相同的持久核心數據存儲,我應該實現某種同步解決方案嗎?
假設CoreData堆棧被配置爲使用Sqlite作爲持久性機制。如果我有多個線程訪問SQLite數據庫,我應該實現同步解決方案嗎?
據我所知沒有ManagedObject沒有ManagedObjectContextinstances是線程安全的。 PersistentStoreManager呢,線程安全嗎?
換句話說,如果我有多個線程讀寫相同的持久核心數據存儲,我應該實現某種同步解決方案嗎?
與大多數數據庫系統一樣,SQLite實現自己的併發機制來解決線程/用戶衝突。所以不,你不需要推出自己的。
也就是說,如果您將要發生大量寫爭用,SQLite並不理想。 SQLite會在寫入期間鎖定整個數據庫,因此您應該儘量減少發生的併發寫入數量。
更多關於SQLite的併發可以在這裏找到:
http://www.sqlite.org/lockingv3.html