0

我的代码看起来像这样:

dispatch_async(background_save_queue, ^{

        NSManagedObjectContext *context = [[NSManagedObjectContext alloc] init];
        [context setMergePolicy:NSMergeByPropertyObjectTrumpMergePolicy];
        [context setPersistentStoreCoordinator:coordinator];
        [[NSNotificationCenter defaultCenter] addObserver:mainContext selector:@selector(mergeChangesFromContextDidSaveNotification:) name:NSManagedObjectContextDidSaveNotification object:context];


        //code to create objects with core data in context ("context" variable)

        [context save:nil];
        [context release];
}

没有多线程(只有一个上下文)的类似代码效果更好。

我的代码错了吗?还有其他用多线程填充核心数据对象的例子吗?

4

1 回答 1

0

最后我检查了另一个线程不比主线程慢。问题是数据源中有很多记录,如果这条记录已经写入数据库,我需要对每条记录进行检查。所以我的数据库创建过程的速度很大程度上取决于记录的数量和数据库结构。

于 2013-09-26T15:51:11.083 回答