10

GCD ve iş parçacığı için çok yeni. Öğreticilerden geçtim ve çok kafa karıştırıcı oldum. Bazıları basit kelimelerle açıklayabilir. Lütfen Apple geliştirici bağlantılarını önermeyin ..Dispatch Queue ve NSOperationQueue arasındaki fark

Şimdiden teşekkürler!

+0

Bu durumda SO linkleri önerebilirim :) .. Burada bunların yararlı olduğunu umuyoruz ... http://stackoverflow.com/questions/7078658/operation-queue-vs-dispatch-queue-for-ios -application http://stackoverflow.com/questions/10373331/nsoperation-vs-grand-central-dispatch http://stackoverflow.com/questions/11676629/ios-dispatch-async-vs-nsoperationqueue Ve iki dış link: - http://maniacdev.com/2010/03/easier-threading-with-nsoperation-for-better-performance http://blog.spec-india.com/difference-between-nsthread-and-nsoperation – IronManGill

cevap

13

NSOperationQueue, iptal edilmesi veya karmaşık bağımlılıkları olması gereken uzun süreli işlemler için daha uygun olabilir. GCD gönderim kuyrukları, minimum performansa ve bellek yüküne sahip olması gereken kısa görevler için daha iyidir.

Bir NSOperationQueue'de (işlem destekledikçe) belirtilen işlemleri iptal etmek mümkündür. Bir GCD gönderim kuyruğunda bir bloğu yerleştirdiğinizde, kesinlikle bir noktada yürütülür.

Aşağıdaki bağlantıyı kontrol edin, size yardımcı olabilir.

Operation Queue vs Dispatch Queue for iOS Application

+0

Bende var [THIS] (http://stackoverflow.com/questions/3762200/how-to-keep-an-iphone-app-running-on-background-fully-operational/17554514#17554514) sayfasındaki arka plan süreciyle ilgili cevabınızı gördünüz. . Uzun bir süre için bir kaydedici uygulaması çalıştırmak gerekir.Yalnızda bana doğru yolla – Valli

1

GCDNSOperationQueue daha onun önemli avantajının uygulaması çok hafif ve kilidi serbest algoritmalar ve performans odaklı olmasıdır alt seviyesidir.

Genel olarak, ihtiyaçlarınıza uyan en yüksek düzeydeki soyutlamayı kullanmalısınız. Bu, genellikle GCD yerine NSOperationQueue kullanmanız gerektiği anlamına gelir. NSOperationQueue, işlemlerin nasıl yürütüldüğü konusunda size çok daha fazla kontrol sağlar.

+0

Yeniden teşekkürler kat ... GCD'nin diğer kafa üstü ağırlığına sahipken daha kullanışlı olduğunu duydum (birkaç öğreticiye dayanarak ..) – Valli