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

  • EminemMusic

    EminemMusic

    9 ŞUBAT 2007
  • krotoflik

    krotoflik

    26 ŞUBAT 2011
  • TheRightTire

    TheRightTire

    14 EKİM 2009