SORU
20 EYLÜL 2008, CUMARTESİ


Hiç Java geçici anahtar kelime kullanıyor musunuz?

İş bugün, üzerinde Java volatile anahtar geldim. Çok da aşina olmadığı, bu açıklaması buldum: Java theory and practice: Managing volatility

Bu makalede, söz konusu anahtar açıklar detay vermiş, hiç kullandın mı ya da hiç doğru biçimde bu anahtar kelime kullanabilirsiniz bir davaya bakabilir mi?

CEVAP
20 EYLÜL 2008, CUMARTESİ


volatile bellek görünürlük için semantik vardır. Temelde, volatile bir alanın değerini bir operasyon tamamlanıncaya yazma sonra tüm okuyucular için görünür (özellikle başka bir iş parçacığı) olur. volatile olmadan okuyucusu olmayan güncelleştirilmiş bir değer görebilir.

Sorunuza cevap: Evet, bazı kod bir döngü devam edip etmediğini kontrol etmek için volatile bir değişken kullanıyorum. Döngü volatile değeri testleri ve eğer true ise devam ediyor. 6* *çağırarak ayarlanabilir durumu bir "Dur" yöntemi. Döngü false görür ve Bırak yöntemi sonra değeri yürütme tamamlandığında bu testler ne zaman sona erer.

Kitap "Java Concurrency in Practice" ben çok tavsiye, volatile iyi bir açıklama verir. Bu kitap, söz konusu başvurulan IBM makale (aslında, bu makalenin altındaki kitabı gösteriyor) yazan aynı kişi tarafından yazılmış. volatile benim kullanımı yazısında "desen 1 durum bayrağı." diyor.

Eğer daha fazla volatile kaputun altında nasıl çalıştığı hakkında bilgi edinmek istiyorsanız, the Java memory model kadar okuyun. Eğer bu düzeyde ötesine gitmek istiyorsanız, önbellek tutarlılık ve önbellek tutarlılığı hakkında Hennessy & Patterson ve okumak gibi iyi bilgisayar mimarisi bir kitap.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • max2sims2

    max2sims2

    19 Kasım 2008
  • RiceBunny

    RiceBunny

    16 ŞUBAT 2006