我看到有人在创建以下代码时添加了此行代码NSPersistentStoreCoordinator
:
assert([NSThread isMainThread] == YES); // Create it only on the main thread
有人可以告诉我如果我不在主线程上创建它会发生什么以及不同之处。
谢谢!
我看到有人在创建以下代码时添加了此行代码NSPersistentStoreCoordinator
:
assert([NSThread isMainThread] == YES); // Create it only on the main thread
有人可以告诉我如果我不在主线程上创建它会发生什么以及不同之处。
谢谢!
此文本是从Apple 的文档中提取的。
使用线程限制来支持并发
Core Data 并发编程的推荐模式是线程限制:每个线程必须有自己的完全私有的托管对象上下文。
采用该模式有两种可能的方式:
为每个线程创建一个单独的托管对象上下文并共享一个持久存储协调器。这是通常推荐的方法。
为每个线程创建一个单独的托管对象上下文和持久存储协调器。这种方法以更大的复杂性(特别是如果您需要在不同的上下文之间传达更改)和增加的内存使用量为代价提供更大的并发性。