1

我正在使用共享相同 NSPersistentStoreCoordinator 的经典多个 MOC,据我了解它比父/子上下文执行得更好:http:
//floriankugler.com/blog/2013/4/29/concurrent-core-data-stack -性能枪战

我在创建上下文并在创建它们的线程/队列上使用它们时非常小心。

僵局是这样的:

主线程正在执行获取请求并挂在 [NSManagedObjectContext executeFetchRequest:error:] 中的互斥体上

#0 0x3ad840fc in __psynch_mutexwait ()
#1 0x3accd128 in pthread_mutex_lock ()
#2 0x328eee90 in -[_PFLock lock] ()
#3 0x328ff350 in -[NSPersistentStoreCoordinator executeRequest:withContext:error:] ()
#4 0x328fdf16 in -[NSManagedObjectContext executeFetchRequest:error:] ()

后台线程挂在我在调用 [coordinator managedObjectIDForURIRepresentation:objector] 之前放在持久存储协调器上的锁上。

#0 0x3ad840fc in __psynch_mutexwait ()
#1 0x3accd128 in pthread_mutex_lock ()
#2 0x328eee90 in -[_PFLock lock] ()
#3 0x00093180 in -[DataManager getObjectByUri:context:] 

我知道这很难从帖子中调试,但任何想法都将不胜感激。顺便说一句……这种情况很少发生。

4

0 回答 0