任何风险从NSConfinementConcurrencyType切换到NSPrivateQueueConcurrencyType和NSMainQueueConcurrencyType?

时间:2015-11-17 10:35:20

标签: ios core-data ios8 database-concurrency

我为其CoreData使用NSConfinementConcurrency创建了一些遗留代码,并将其用于NSPrivateQueueConcurrencyTypeNSMainQueueConcurrencyType

是否有任何问题或风险从NSConfinementConcurrencyType切换到NSPrivateQueueConcurrencyTypeNSMainQueueConcurrencyType应该注意哪些?

1 个答案:

答案 0 :(得分:0)

NSMainQueueConcurrencyType创建一个与主调度队列相关联的上下文,从而创建主线程。您可以使用这样的上下文将其链接到在主线程上运行所需的对象,例如UI元素。

NSPrivateQueueConcurrencyType创建并管理要操作的专用调度队列。您必须使用新方法performBlock:或performBlockAndWait:。然后,上下文将在其自己的专用队列上执行传递的块。

最后,NSConfinementConcurrencyType是默认类型,只能在创建它的线程中使用。因此,在您的NSOperation中,您已经以正确的方式使用它。一个简单的说明。如果要将其用作子上下文,则需要有一个"队列上下文" (NSMainQueueConcurrencyType或NSPrivateQueueConcurrencyType)。