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
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<>
).
Neden Java geçici değişkenler var mı?...
Neden ünlem işareti Ruby yöntemler kul...
Neden Python'doÄŸrudan kabuk komut...
OAuth 2.0: sosyal haklar ve davalar — ...
Href="#&; ve neden kullanılır?"...