cocoa - 在Grand Central Dispatch中使用dispatch_sync

cocoa - 在Grand Central Dispatch中使用dispatch_sync

任何人都可以用真正清楚的用例來解釋GCD中dispatch_sync的用途是什麼? 我無法理解我在哪里以及為什麼要使用它。 謝謝!…


iphone - NSURLConnection和盛大的中央調度

是否可以將NSUrlConnection包裝在gcd樣式塊中並在low_priority隊列上運行? 我需要確保我的連接不在主線程上發生,並且連接需要是異步的。 我還需要幾個同時發出的請求。 如果我去gcd路由,我不確定調用NSUrlConnectionDelegate方法的哪個線程。 NSURLConnection依賴於委託,所以一旦連接完成,處理它的任何包裝類都需要調用它的調用者。…


iphone - performSelector:withObject:afterDelay:和dispatch_after之間的折衷是什麼?

我遇到的唯一的功能差異是,我可以取消與performSelector:withObject:afterDelay: 我不知道如何取消提交給dispatch_after的塊。(請讓我知道是否有辦法做到這一點,我不知道)。 我想知道更多關於: 功能的權衡(還有什麼可以用一個接口而不是其他的?) 性能權衡(一個實現更有效率?在哪些情況下?) 風格權衡(我更喜歡一個界面的某些任務,以更好地遵循…


objective c - 暫停GCD查詢問題

我無法暫停gcd查詢。 以下是一些演示此問題的代碼: static dispatch_queue_t q=nil; static void test(int a){ if(q){ dispatch_suspend(q); dispatch_release(q); q=nil;}q=dispatch_get_global…


iphone - 核心數據和線程/ Grand Central Dispatch

我是Grand Central Dispatch(GCD)和Core Data的初學者,我需要你的幫助來使用帶有CGD的Core Data,這樣當我向Core Data添加40.000條記錄時,UI不會被鎖定。 我知道CD不是線程安全的,所以我必須使用另一個上下文,然後保存數據和合併上下文,就我從一些文章中能夠理解的那樣。 我還做不到的是把各個部分拼湊起來。 所以,在我的代碼中,我需要你的…


objective c - 如何使用Grand Central Dispatch發布NSNotification?

我發現,正如我在編寫圖像時所預測的那樣,我的UI在持續時間內被阻塞,這是不可接受的。 當我將圖像寫入文件時,我會發布NS通知,以便我可以完成與該完成相關的其他特定工作。 原始的工作,但UI阻止代碼:-(void)saveImageToFile{NSString*imagePath=[self photoFilePath]; BOOL jpgData=[UIImag…



與GCD同時排隊?(iOS 4.2.1)

Iam有問題: dispatch_queue_t concurrentQueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0UL); concurrentQueue在iOS 4.2.1(設備)上是nil,但是相同的代碼在運行iOS 5.0.1的另一個設備上完美地工作。 當我檢查標題說它從iOS 4.0…


objective c - 為什麼我們不能在當前隊列上使用dispatch_sync?

我遇到了一個場景,我有一個委託回調,可能發生在主線程或另一個線程上,我不知道哪個直到運行時(使用StoreKit.framework)。 我還需要在該回調中更新UI代碼,這需要在函數執行之前發生,因此我最初的想法是擁有這樣的函數:-(void) someDelegateCallback:(id) sender{dispatch_sync(dispatch_get_main_que…


ios - dispatch_get_global_queue和dispatch_queue_create有什麼區別?

我正在編寫一個中等複雜的iOS程序,需要為一些較長的操作(解析,連接到網絡等)提供多個線程。 但是,我對dispatch_get_global_queue和dispatch_queue_create之間的區別感到困惑。 我應該使用哪一個,你能給我一個簡單的解釋,一般來說有什麼區別嗎? 謝謝。…


如何在iphone中將已棄用的方法dispatch_get_current_queue()從ios5替換為ios6?

這個問題在這裡已有答案: 對於iOS 6中的完成塊,dispatch_get_current_queue()的替代方法是什麼? 7個答案 我正在使用IOS 5中的xmppframework開發一個聊天應用程序; 它完美地運作。 但是我將我的xcode更新為4.5.1,將ios5更新為IOS 6,將我的mac OS更新為10.7.5,由於棄用問題,該項目無法正常工作。 我用ios 6中的新方法…




thread swift dispatchqueue gcd async queue main multi dispatch ios