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

  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • HowtoDrawAndPaint

    HowtoDrawAnd

    24 EKİM 2010
  • FF Radioo

    FF Radioo

    14 ŞUBAT 2007