void HelloWorld()
{
static std::atomic<short> static_counter = 0;
short val = ++static_counter; // or val = static_counter++;
}
इस समारोह दो धागे से कहा जाता है, तोथ्रेड सुरक्षित स्थानीय चर
स्थानीय चर दोनों धागे में 1
हो val
कर सकते हैं? या (का उपयोग किया जाता है?)
संभावित डुप्लिकेट http://stackoverflow.com/questions/8102125/is-local-static-variable-initialization-thread-safe-in-c11 – user2807083
@ user2807083 यह सवाल नहीं है। मुझे पता है static_counter सुरक्षित रूप से शुरू किया जाएगा। सी ++ 11 मानक की आवश्यकता है। मैं वैल के बारे में बात कर रहा हूं, जो स्थिर नहीं है .. – James
मुझे लगता है कि यह आपके स्थानीय 'var' के बारे में कुछ भी नहीं है, लेकिन सभी ++ ऑपरेटर स्थिर चर पर लागू होते हैं। तो मुझे लगता है कि सही सवाल यह है कि "परमाणु चर धागा सुरक्षित है?" – user2807083