2013-01-19 15 views

回答

3

你不會這樣做。每個thread.CoreData創建兩個單獨的NSManagedObjectContext不是線程安全的..這樣做之前閱讀本文檔與CoreData多線程

Concurrency with Core Data

1

NSPersistentStoreCoordinator將處理在多個線程或隊列,但它本身的NSManagedObjectContext只應該是有史以來NSManagedObjectContexts適當鎖定在一個線程上使用,它創建的線程(常見的錯誤是在主線程上創建一個MOC,然後將它傳遞給另一個線程 - 不要這樣做)。

正如Tony所表示的那樣,您希望爲每個線程分配一個MOC,共享一個持久存儲協調器,或者爲iOS 5中引入的Core Data使用新的併發模式,允許您創建子上下文和/或使用新的performBlock和performBlockAndWait方法,以確保上下文在正確的線程上執行。

直接回答你的問題是'誰知道'。行爲將是未定義的,你幾乎肯定會遇到隨機崩潰和/或死鎖。

相關問題