पुस्तक Java Concurrency In Practice में यह परिवर्तनशील वस्तुओं संगामिति वार बनाम "प्रभावी रूप से अपरिवर्तनीय" वस्तुओं के फायदे बताते हैं। लेकिन यह समझ में नहीं आता है कि "प्रभावी ढंग से अपरिवर्तनीय" वस्तुएं पर वास्तव में अपरिवर्तनीय वस्तुओं से अधिक लाभ प्रदान करती हैं।प्रभावी ढंग से अपरिवर्तनीय वस्तुओं को समझ में आता है?
और मुझे यह नहीं मिला: क्या आप हमेशा उस समय वास्तव में अपरिवर्तनीय वस्तु का निर्माण नहीं कर सकते जब आप सुरक्षित रूप से "प्रभावी रूप से अपरिवर्तनीय" ऑब्जेक्ट को प्रकाशित करने का निर्णय लेते? (आपके "सुरक्षित प्रकाशन" करने के बजाय आप वास्तव में अपरिवर्तनीय वस्तु का निर्माण करेंगे और यह है)
जब मैं कक्षाएं डिज़ाइन कर रहा हूं तो मैं उन मामलों को देखने में असफल रहा जहां मैं हमेशा वास्तव में अपरिवर्तनीय वस्तु नहीं बना सकता था (जरूरत पड़ने पर प्रतिनिधिमंडल का उपयोग करना आदि। अन्य लिपटे ऑब्जेक्ट्स बनाने के लिए, स्वयं निश्चित रूप से वास्तव में अचूक) इस समय मैं "सुरक्षित रूप से प्रकाशित" करने का निर्णय लेता हूं।
तो "प्रभावी रूप से अपरिवर्तनीय" वस्तु और उनके "सुरक्षित प्रकाशन" सिर्फ बुरा डिजाइन या गरीब एपीआई का मामला है?
कहाँ आप एक प्रभावी रूप से अपरिवर्तनीय वस्तु का उपयोग करने के लिए मजबूर किया जाएगा और सुरक्षित रूप से प्रकाशित करने के लिए जहाँ आप एक बहुत बेहतर वास्तव में अपरिवर्तनीय वस्तु का निर्माण नहीं कर सकता है के लिए मजबूर हो?
इस दृष्टिकोण का कोई भी उदाहरण उपलब्ध है? महान उदाहरण और स्पष्टीकरण के लिए – user77115