SORU
29 NİSAN 2012, Pazar


NSOperation Grand Central Dispatch vs

İOS için eş zamanlı programlama öğreniyorum. Şimdiye kadar NSOperation/NSOperationQueue GCD hakkında bir şeyler okumuştum.GCD ve yardımcısı üzerinde NSOperationQueue versa kullanma nedenleri nelerdir?

Sesler GCD NSOperationQueue her iki uzak soyut gibi kullanıcı NSThreads açık oluşturma. Ancak iki yaklaşım arasındaki ilişki açık değildir herhangi bir geribildirim takdir!

CEVAP
29 NİSAN 2012, Pazar


GCD düşük seviye C tabanlı API görev tabanlı bir eşzamanlılık modeli çok basit kullanım sağlar. NSOperation NSOperationQueue Objective-C sınıfları benzer bir şey yapmak. NSOperation ilk, ama 10.6 olarak tanıtıldı ve, NSOperationQueue 4 ve arkadaşları DAHİLİ olarak uygulanır GCD kullanarak iOS.

Genel olarak, sizin ihtiyaçlarınıza uygun soyutlama en üst düzeyde kullanmalısınız. Bu genellikle NSOperationQueue desteklemediği bir şey yapmak için gerekli olmadıkça GCD yerine NSOperationQueue kullanması gerektiğini anlamına gelir.

Not NSOperationQueue değil bir "basitleştirilmiş" sürümü GCD; aslında, orada pek çok şey yapabileceğiniz çok basit bir şekilde NSOperationQueue Bu çok çalışma ile saf GCD. Bant genişliği kısıtlı sıralar bir kerede sadece N işlemler; işlemler arasında bağımlılıkları kurarak çalıştırın. (örnek: Çok basit iki NSOperation,)*.* 21 çok zor Apple GCD NSOperation ile çok güzel bir nesne dostu bir API oluşturmak edebilmek için zor işi yaptı. Bir nedeniniz yoksa işlerini yararlanın.

Uyarı: Gerçekten sadece NSOperationQueue sağlayan bir blok göndermek gerekir, ve ek işlevsellik gerek yok eğer diğer taraftan, GCD kullanarak yanlış bir şey yok. Sadece emin olun bu iş için doğru araçtır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006