सरल प्रश्न: क्या जावा मेमोरी/सिंक्रनाइज़ेशन मॉडल गारंटी परमाणु सूचक लिखता है? यही कारण है कि अगर हम प्रतिस्पर्धा धागे है,:,क्या जावा पॉइंटर परमाणु लिखते हैं?
String shared;
thread1()
{
shared = "a";
}
thread2()
{
shared = "hello world";
}
एक ही समय में शुरू कर दिया shared
हमेशा null
, "a"
, या "hello world"
होने की गारंटी है?
नोट, सामान्य रूप से, संदर्भ द्वारा संदर्भित ऑब्जेक्ट पूरी तरह से प्रारंभ नहीं किया जा सकता है। 'स्ट्रिंग' का सामान्य कार्यान्वयन ठीक होना चाहिए, हालांकि इस तरह के चीजों पर विनिर्देश बहुत अच्छा नहीं है। इसके अलावा कुछ मूल्यवान वास्तव में अपरिवर्तनीय प्रकार भी हैं। यदि आप इस तरह की चीज़ पर भरोसा करने का प्रयास करते हैं, तो आप शायद कुछ गलत कर रहे हैं (हालांकि यह समझने के लिए एक अच्छा कारण नहीं है)। –