Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 24045|Yanıt: 0

[Konsol Programı] .net/C# içinde değişken anahtar kelime öğrenmesi

[Bağlantıyı kopyala]
Yayınlandı 23.05.2018 11:23:40 | | | |
MS bağlantısı:Bağlantı girişi görünür.

Değişken anahtar kelime, bir alanın aynı anda birden fazla iş parçacığının çalışmasıyla değiştirilebileceğini gösterir. Volatile olarak ilan edilen alanlar, derleyici optimizasyonu ile sınırlandırılmaz (tek bir iş parçacığı tarafından erişildiği varsayıldığı sürece). Bu, alanın her zaman en güncel değerle render edilmesini sağlar.

Volatile modifikatör genellikle birden fazla iş parçacığı tarafından erişilen ancak erişimi bir kilit ifadesi kullanarak serileştirmeyen alanlar için kullanılır.

Uçucu anahtar kelimeler aşağıdaki alanlar türlerine uygulanabilir:

  • Alıntı türü.
  • İşaret tipi (güvensiz bir bağlamda). İşaretçinin kendisi değiştirilebilir olsa da, işaret ettiği nesne değiştirilebilir olamayabilir. Başka bir deyişle, "değişken nesneye işaretçi" ilan edilemez.
  • Sbyte, byte, short, ushort, int, uint, char, float ve bool gibi türler.
  • Aşağıdaki temel tiplerden birine sahip bir enum tipi: byte, sbyte, short, ushort, int veya uint.
  • Referans tipi olarak bilinen genel tip parametreleri.
  • IntPtr ve UIntPtr.


Değişken anahtar kelimeler yalnızca bir sınıf veya yapının alanlarına uygulanabilir.Yerel değişkenler volatile olarak ilan edilemez


Artık saçmalık yok, test etmek için bir döngü yaz:

Bir döngüde 10.000 kez test edelim,bir değerin çıktısının doğru olduğunu buldu, ancakAçıklama yapmıyorUçucu iplik açısından güvenlidirÇünkü, defalarca test ederseniz, hesaplama hataları olur! Çünkü doğru sonuç şansı ve yanlış sonuç şansı vardır



Kod:



100.000 döngüyü tekrar test edelim ve a'nın değerinin yanlış olduğunu görebiliriz, çünkü döngü sayısı ne kadar az olursa, hata olasılığı da azalır ve hata o kadar belirgin değil, tıpkı az önce 10.000 döngüden sonra hata olmaması gibi.

Bu sırada, test etmek için bir kilit ekliyoruz ve a'nın değerinin beklediğimiz gibi doğru hesaplandığı görülüyor.



Kod:



Özet: uçucu iplik güvenliğini garanti etmez, yukarıdaki örnekte görebileceğiniz gibi.




Önceki:Paket yakalama aracı smsniff 2.0 Çince versiyonunu indir
Önümüzdeki:VS Uzaktan Hata Hata Düzeltme "Ayıklama işlemi beklenenden daha uzun sürüyor" çözümü
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com