मेरे अनुभव में नहीं। यह कोड है कि कन्स्ट्रक्टर, निहित या अन्यथा कॉल करता है, जिसे थ्रेड-सुरक्षित बनाया जाना चाहिए, एप्लिकेशन को इसकी आवश्यकता होनी चाहिए।
तर्क यह है कि एक ही समय में केवल एक थ्रेड किसी ऑब्जेक्ट को प्रारंभ करना चाहिए, इसलिए किसी भी सिंक्रनाइज़ेशन को कन्स्ट्रक्टर के भीतर शुरू करने के लिए आवश्यक नहीं है (यदि ऑब्जेक्ट प्रारंभिकरण समाप्त नहीं हुआ है, तो यह नहीं होना चाहिए वैसे भी धागे के बीच साझा)।
इसे देखने का एक और तरीका यह है: ऑब्जेक्ट्स को उनके रचनाकारों के लौटने तक तर्कसंगत रूप से असामान्य माना जाना चाहिए। तो, एक वस्तु बनाने की प्रक्रिया में एक थ्रेड एकमात्र धागा है जो इसके बारे में "जानता है"।
बेशक
, उचित तुल्यकालन नियम किसी भी साझा संसाधन के लिए निर्माता ही तक पहुँचता है लागू होते हैं, लेकिन यह है कि (मैं लोगों को कि यह एहसास करने के लिए असफल का सामना किया है, यह मानते हुए कंस्ट्रक्टर्स विशेष कर रहे हैं और किसी भी तरह के लिए अनन्य पहुँच प्रदान करते हैं किसी भी कार्य करने के लिए लागू होता है सभी संसाधन)।
यह पूरी तरह से सच नहीं है। जब आप सिंगलटन डिज़ाइन पैटर्न का उपयोग करते हैं तो कन्स्ट्रक्टर के लिए थ्रेड-सुरक्षित चिंताएं होती हैं। और अभी मैं इस स्थिति के लिए एक समाधान खोज रहा हूँ। – PDuarte