SORU
26 ŞUBAT 2009, PERŞEMBE


'atom arasındaki fark ne ve nonatomic nitelikler?

atomic nonatomic emlak tanımlamalar de ne demek?

@property(nonatomic, retain) UITextField *userName;
@property(atomic, retain) UITextField *userName;
@property(retain) UITextField *userName;

Bu üç işletme arasında ne fark var?

CEVAP
26 ŞUBAT 2009, PERŞEMBE


Son iki özdeş; "" varsayılan davranıştır ( . atom ^grev>aslında bir kelime değildir; nonatomic olmaması ile tanımlanır unutmayın-- atomic llvm/clang yapar) yeni sürümlerinde anahtar sözcük olarak eklendi.

@Yöntemi uygulamalarında, atom vs non-atomik sentezleme olduğunu varsayarak oluşturulan kodu değiştirir. Eğer alıcı/ayarlayıcı kendi yazıyorsanız, atom/nonatomic/korumak/sadece danışma/atama. (Not: sentez şimdi LLVM son sürümlerinde varsayılan davranıştır@. Ayrıca örnek değişkenleri bildirmek için gerek yoktur; otomatik olarak, çok sentez ve _ kendi adına kaza sonucu doğrudan erişimi engellemek için e).

", Sentezlenen ayarlayıcı/alıcı bir . sağlayacaktır "atom ile ^em>tümdeğeri her zaman başka bir iş parçacığı tarafından alıcı ya da ayarlayıcı set, pasör etkinliği bağımsız olarak döndürülür. Yani, eğer Bir iş parçacığı olduğunu ortasında alıcı ise B iş parçacığı çağırır ayarlayıcı, bir gerçek uygun değer -- bir autoreleased nesne, büyük olasılıkla -- döndürülür arayan A.

nonatomic, böyle bir garanti yapılır. Böylece, nonatomic oldukça hızlı daha iyidir"". atom

"" Yapar . atom ne ^strong>değiliş parçacığı güvenliği konusunda hiçbir garanti yoktur. Eğer Bir iş parçacığı arıyor, alıcı ile aynı anda parçacığı, B ve C çağırma ayarlayıcı ile farklı değerler, Bir iş parçacığı olabilir herhangi bir değer döndürdü -- önce herhangi belirleyiciler olmak denir ya da değerleri iletilen belirleyiciler B ve C Aynı şekilde, nesne Mayıs sonu ile değeri B veya C, hiçbir şekilde söyle.

Çok parçacıklı programlama temel sorunlardan biri veri bütünlüğü -- -- sağlamaktan başka yollarla elde edilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • brokenbellsVEVO

    brokenbellsV

    11 EYLÜL 2009
  • makemebad35

    makemebad35

    17 NİSAN 2006
  • NextKsa

    NextKsa

    7 EKİM 2009