【发布时间】:2011-11-19 22:31:02
【问题描述】:
我在 Core Data 上有一个多线程问题。
一些 NSOperation 在后台使用以下指令更新不同的 NSManagedObject 属性:
BKArtistData *artistData = [self artistDataForName:bandName];
artistData.bandId = bandId;
[self save];
artistDataForName 对所有后台线程共享的上下文执行提取。 (我也尝试了一个上下文一个线程的策略,事情仍然是阻塞的)。
我的问题是只有 1 个线程可以执行更新。其他线程卡在了
artistData.bandId = bandId;
行。
最终,我可以让更新从主线程执行。不过,您知道阻塞是从哪里来的吗?
【问题讨论】:
标签: ios multithreading core-data