SORU
16 EYLÜL 2008, Salı


Ne zaman geçici anahtar sözcüğü C kullanılmalıdır#?

Herkes C geçici anahtar kelime iyi bir açıklama sağlayabilir#? Hangi sorun yok çözüyor mu? Hangi durumlarda beni kilitleme kullanımı kurtaracak mı?

CEVAP
8 Temmuz 2013, PAZARTESİ


Eric Lippert (orijinal vurgu) daha bu cevap için daha iyi bir insan olduğunu düşünmüyorum:

C#," "emin derleyici ve bu sadece anlamına gelir "uçucu titreme herhangi bir kodu yeniden yapmak veya önbellekleme kaydedemeyen bu değişken". iyileştirmeleri Ayrıca "işlemciler anlat demektir yapmaları gereken şey her ne olursa olsun okuyorum emin olmak için yapmak bu durdurma diğer işlemciler ve yapmak anlamına gelse de, son değer, onların önbelleğe ile senkronize ana bellek".

Aslında, son kısmı yalan. Uçucu gerçek semantiği okur ve burada bahsettiğim bundan çok daha karmaşık yazıyor; aslındaaslında her işlemci ne durdurur garanti değil yapıyorve güncellemeleri ana bellekten/önbelleğe alır. Daha doğrususağladıkları bellek erişir hakkında daha güçsüz garanti öncesi ve sonrası ve okur yazar birbirimize saygı ile sipariş görülebilir. Yeni bir iş parçacığı oluşturma gibi bazı işlemler, bir kilit girmek veya yöntemlerin birbirine bağlı ailenin kullanarak daha güçlü tanıtmak sipariş gözlem hakkında garanti eder. Eğer daha fazla bilgi istiyorsanız, C bölüm 3.10 ve 10.5.3# 4.0 belirtimi oku.

AçıkçasıŞimdiye kadar uçucu bir alan yapmasını önleyeceğim. Uçucu alanları düpedüz deli bir şey yaptığınıza dair bir işaret vardır: ... okuma girişimi ve iki farklı iş parçacıklarının aynı değeri yaz yerde bir kilit koymadan. Ya da bellek okuma garanti kilitleri kilidin içinde değiştirilmiş tutarlı olduğu görülür, kilitler garanti yalnızca bir iş parçacığının aynı anda bellek belirli bir kiloya kadar erişen ve çok . Bir kilit çok yavaş olduğu durumların sayısı çok küçük ve kodu yanlış almak için gidiyoruz ve olasılık tam bellek modeli çok büyük olduğunu anlamıyorsun çünkü. Ben en önemsiz dışında düşük kilidi herhangi bir kod yazmak için girişim yok Kilitli işlemleri kullanımları. ""Uçucu kullanımı bırakıyorum gerçek uzmanlar.

Daha fazla okuma için bkz:

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • finalcall07

    finalcall07

    11 NİSAN 2008
  • placeboing

    placeboing

    7 Mart 2006
  • SPBedition

    SPBedition

    24 HAZİRAN 2013