SORU
19 Mart 2010, Cuma


Neden geçici niteleyici dışarı std ile kullanılır::atom?

Herb Sutter others okuduklarıma volatile ve eşzamanlı programlama tamamen dik kavramlar, en az C/C gelince olduğunu düşünürdüm.

Ancak, GCC c 0x extension std::atomic'nin üye fonksiyonlar volatile niteleyici. Aynı Anthony Williams implementation std::atomic doğrudur.

Anlaşma, atomic<> değişkenler benim ihtiyacım var volatile ya da değil, öyleyse ne?

CEVAP
19 Mart 2010, Cuma


Diğerleri doğru yazdıklarını özetlemek gerekirse:

C volatile donanım erişim ve kesme için C/. C 11 atomic<> inter-iplik iletişim (örneğin, kilidi serbest kod). /Kullanan bu iki kavram birbirine diktir, ama üst üste gereksinimleri var ve bu insanlar genellikle iki karışmasına neden olur.

Nedeni atomic<> uçucu nitelikli işlevleri aynı sebebi vardır inş nitelikli işlevler, çünkü mümkün prensip için bir nesne olması hem atomic<> ve ayrıca const ve/veya volatile.

Elbette, yazımda dikkat çekti, daha fazla kaynak kafa karışıklığı olduğunu C/C volatile değil aynı C#/Java volatile (ikincisi temelde eşdeğer C 11 atomic<>).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FullMag

    FullMag

    15 ŞUBAT 2007
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • TechXCentral

    TechXCentral

    12 Temmuz 2011