«volatile» etiketlenmiş sorular

Volatile, "kendi kendine değişebilen" bir veri depolama alanını (nesne, alan, değişken, parametre) tanımlamak için kullanılan bir niteleyicidir, dolayısıyla bazı kod üreteci optimizasyonlarına izin vermez. Bu niteleyiciyi tanıyan tüm dillerde olmasa da bazı dillerde bu tür verilere erişim iş parçacığı açısından güvenlidir.

8
.NET'te çift denetimli kilitlemede uçucu değiştirici ihtiyacı
Birden çok metin, .NET'te çift denetimli kilitlemeyi uygularken kilitlediğiniz alana geçici değiştiricinin uygulanmış olması gerektiğini söyler. Ama neden tam olarak? Aşağıdaki örneği ele alarak: public sealed class Singleton { private static volatile Singleton instance; private static object syncRoot = new Object(); private Singleton() {} public static Singleton Instance { get …
85 c#  singleton  volatile 

3
Derleyicinin yerel bir uçucuyu sabit olarak katlamasına izin veriliyor mu?
Şu basit kodu düşünün: void g(); void foo() { volatile bool x = false; if (x) g(); } https://godbolt.org/z/I2kBY7 Potansiyel çağrıyı ne görebilir, ne gccde clangoptimize edebilirsiniz g. Bu benim anlayışım için doğru: Soyut makine volatiledeğişkenlerin herhangi bir anda değişebileceğini varsaymaktır (örneğin donanım eşlemeli olması nedeniyle), bu nedenle falsebaşlatmayı ifkontrole …


3
“Uçucu” çok çekirdekli sistemler için taşınabilir C kodunda herhangi bir şeyi garanti ediyor mu?
Bir baktıktan sonra demet ait diğer sorular ve bunların cevapları , ben izlenimini almak C "uçucu" anahtar kelime tam olarak ne anlama geldiği konusunda yaygın bir görüş birliği vardır. Standardın kendisi bile herkesin ne anlama geldiği konusunda anlaşacak kadar net görünmüyor . Diğer sorunların yanı sıra: Donanımınıza ve derleyicinize bağlı …

1
Bu C ++ AtomicInt uygulaması doğru mu?
Öncül: C ++ 11 (ile std::atomic<int>) bile bulunmayan bir ARM gömülü (neredeyse çıplak metal) ortamla çalışıyorum , bu yüzden lütfen " sadece standart C ++ kullanstd::atomic<int> " gibi cevaplardan kaçının : Yapamam . AtomicInt'in bu ARM uygulaması doğru mu? (ARM mimarisinin ARMv7-A olduğunu varsayalım ) Bazı senkronizasyon sorunları görüyor musunuz? …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.