2014-12-29 45 views
0

我對有關performBlock的文檔展開感到困惑:PerformBlockAndWait: 它說:performBlock是異步的,withWait:在接收者的隊列中是同步的。 是「接收器」是指NSManagedObjectContext? 如果上下文是私有類型,所以塊在後臺線程中執行,如果上下文是主類型並且該塊在主線程中執行? 非常感謝NSManagedObjectContext performBlock線程

回答

0

沒錯。您正確理解文檔。

「Receiver」是指現有的上下文,所以如果這是一個後臺上下文,該塊將在主線程上的後臺線程中執行,如果它是主上下文的話。

+0

非常感謝你〜 –

0

兩種方法都會在上下文的隊列上執行該塊(在後臺線程上,在私有隊列上下文的情況下)。但是,performBlockAndWait:方法也會阻塞調用線程,直到塊在後臺線程上完成執行。

+0

所以看起來好像,performBlock喜歡dispatch_asyn,而performBlockAndWait喜歡dispatch_syn,並且隊列取決於私有類型(後臺隊列),主類型上下文(主線程隊列)?謝謝 –

+0

是的,這基本上是如何工作的。當然! –

+0

非常感謝你〜 –

相關問題