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

  • AverageBroTV

    AverageBroTV

    20 Mart 2013
  • NextKsa

    NextKsa

    7 EKİM 2009
  • SHAYTARDS

    SHAYTARDS

    1 EKİM 2008