2008-09-30 14 views
12

मैं दस्तावेज़ के लिए क्या उच्च स्तर के लिए करना चाहते हैं (यानी सी ++ नहीं इनलाइन कोडांतरक) कार्य या मैक्रो की तुलना करें और स्वैप (कैस) परमाणु पुरातन के लिए उपलब्ध हैं ...उच्च स्तरीय तुलना और स्वैप (सीएएस) कार्य करता है?

जैसे, WIN32 86 पर कार्यों का एक परिवार है <_intrin.h> शीर्षलेख में।

उत्तर

16

मैं दूसरों की सूची विभिन्न प्लेटफ़ॉर्म-विशिष्ट एपीआई बता देंगे लेकिन सी ++ 09 में भविष्य में संदर्भ के लिए आप नए "परमाणु संचालन पुस्तकालय" में

atomic_compare_exchange() 

आपरेशन मिलेगा।

+0

मीठे उत्तर !! इसके लिए इंतजार नहीं कर सकता ... – paxos1977

1

जावा इस कैस आपरेशन, भी है

here

इस के लिए व्यावहारिक उपयोग कर रहे हैं देखते हैं, एक lock-free hashtable मल्टीप्रोसेसर प्रणाली में इस्तेमाल किया

+0

प्रश्न सी ++ टैग किया गया है;) – paxos1977

+0

+1 लेकिन वैसे भी धन्यवाद। अब मुझे पता है कि जावा में सीएएस भी है :) – Viet

8

चिकना, लिनक्स और यूनिक्स सिस्टम पर एक सामान्य प्रणाली पुस्तकालय की तरह (लेकिन विंडोज और मैक ओएस एक्स पर भी समर्थित है), several atomic operations को परिभाषित करता है, जिसमें g_atomic_int_compare_and_exchange और g_atomic_pointer_compare_and_exchange

2

सी ++ मानक पुस्तकालय में परिवर्तन का प्रस्ताव देने वाले इस विषय पर काम कर रहे समूह के कागजात की एक श्रृंखला रही है। WG N2427 (सी ++ परमाणु प्रकार और संचालन) सबसे हालिया है, जो लंबित मानक के खंड 29 - परमाणु संचालन पुस्तकालय में योगदान देता है।

संबंधित मुद्दे