2014-12-29 27 views
0

我对有关performBlock的文档展开感到困惑:PerformBlockAndWait: 它说:performBlock是异步的,withWait:在接收者的队列中是同步的。 是“接收器”是指NSManagedObjectContext? 如果上下文是私有类型,所以块在后台线程中执行,如果上下文是主类型并且该块在主线程中执行? 非常感谢NSManagedObjectContext performBlock线程

回答

0

没错。您正确理解文档。

“Receiver”是指现有的上下文,所以如果这是一个后台上下文,该块将在主线程上的后台线程中执行,如果它是主上下文的话。

+0

非常感谢你〜 –

0

两种方法都会在上下文的队列上执行该块(在后台线程上,在私有队列上下文的情况下)。但是,performBlockAndWait:方法也会阻塞调用线程,直到块在后台线程上完成执行。

+0

所以看起来好像,performBlock喜欢dispatch_asyn,而performBlockAndWait喜欢dispatch_syn,并且队列取决于私有类型(后台队列),主类型上下文(主线程队列)?谢谢 –

+0

是的,这基本上是如何工作的。当然! –

+0

非常感谢你〜 –

相关问题