SORU
25 EYLÜL 2008, PERŞEMBE


C geçici anahtar kelime kullanımını gösteren#

Görsel olarak volatile anahtar davranış gösteren küçük bir program kodu istiyorum. İdeal olarak, uçucu olmayan statik bir alan için eş zamanlı erişim gerçekleştiren ve bu yüzden yanlış bir davranış olur bir program olmalı.

Aynı programda geçici anahtar kelime ekleme sorunu düzeltmek gerekir.

Bir şey elde etmek için bunu başaramadık. Hatta birkaç kez, optimizasyonunu çalışırken, vb., Hep olmadan doğru bir davranış 'uçucu' anahtar kelime.

Bu konu hakkında herhangi bir fikrin var mı? Basit bir demo uygulaması böyle bir sorun simüle etmek nasıl biliyor musunuz? Donanım bağlı mı?

CEVAP
16 AĞUSTOS 2009, Pazar


Çalışan bir örnek elde ettik!

Ana fikir wiki alınan, ama C için bazı değişiklikler ile#. Wiki makalesi C statik alan , olduğu gibi C# daima dikkatle bu statik alanlar için istekleri derleme gösterir... ve olmayan statik bir örnek olun:

Bu örnekte çalıştırırsanızBırakınmod vehata ayıklayıcı olmadan(Ctrl) F5 sonra bir çizgi (test.'foo=! 255)' optimize eder '(true)' ve ben bu programı verir. Ama ekledikten sonra 'geçici' sözcüğünü, her zaman 'TAMAM'.

class Test
{
    int foo;

    static void Main()
    {
        var test = new Test();

        new Thread(delegate() { Thread.Sleep(500); test.foo = 255; }).Start();

        while (test.foo != 255) ;
        Console.WriteLine("OK");
    }
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • MisterBrightside

    MisterBright

    24 Mart 2006
  • Tom Megalis

    Tom Megalis

    18 NİSAN 2006