aşağıdaki kod sniper düşünün oluşabilir eğer okurken gerekli senkronizasyon mı. Belleği yerel önbellekten ana belleğe akıtmak için ayarlayıcıda senkronizasyon gereklidir. Zamanında Time2 (Zaman2> Zaman1, iplik çekimi yok) iş parçacığı Thread2 değişkenin değerini okuyacaktır.hiçbir çekişme
Soru: - getterden önce senkronize edilmeli mi? Bunun herhangi bir soruna yol açmayacağı anlaşılıyor - bellek güncel olmalı ve Thread2’nin yerel önbelleği, Thread1 tarafından güncellenen & geçersiz kılmalı, ancak emin değilim.
Java'da iş parçacığı, * önce-önce * ilişkilerle tanımlanır. Kızarma önbellekleri açısından düşünmeye çalışma, çünkü yanlış olacaksın. Bir şey için derleyici optimizasyonları önemlidir. Yıkama önbellekleri doğru bir model olsa bile, belirtilen nesne değişebilirse, güncelleme sırası garanti edilmez. (1.5 spesifikasyona kadar, spekülasyonlar önbellekleme modelini kullandılar, ancak ilkel olarak kullanıldılar.) –