क्या कोई एल्गोरिथ्म है जो इसके कार्यान्वयन में उनमें से एक का उपयोग करना चाहिए?
लगभग निश्चित रूप से नहीं। (वास्तव में, सैद्धांतिक दृष्टिकोण से, आपको अन्य java.util.cccurrent का उपयोग करके प्रतीक्षा / सूचना का अनुकरण करने में सक्षम होना चाहिए । कक्षाएं और सिंक्रनाइज़ को स्पष्ट लॉक संचालन के साथ बदला जा सकता है ... हालांकि आपको अनलॉक करने के लिए सावधान रहने की आवश्यकता होगी। finally
खंड।)
हालांकि, संभवतः एल्गोरिदम हैं जहां जावा में सबसे अच्छा प्रदर्शन करने वाले कार्यान्वयन में सिंक्रनाइज़ेशन का प्रत्यक्ष उपयोग शामिल है, प्रतीक्षा और सूचना के बिना।
क्या यह समय-समय पर सिंक्रनाइज़, प्रतीक्षा और सूचित करने के लिए है?
पिछले प्रश्न के उत्तर के बावजूद, उत्तर निश्चित रूप से नहीं है।
प्रतीक्षा / सूचना सही तरीके से उपयोग की जा सकती है (और अक्सर होती है)। जावा में, डिप्रेसेशन उन वर्गों और विधियों के लिए आरक्षित है जो टूट गए हैं; यानी जहां निरंतर उपयोग को तात्कालिकता के रूप में ठीक किया जाना चाहिए। यदि सूर्य (और अब ओरेकल) ने कुछ को मौलिक रूप में और व्यापक रूप से प्रतीक्षा / सूचना के रूप में उपयोग किया, तो वे बड़ी मात्रा में विरासत कोड के लिए एक गंभीर संगतता समस्या पैदा करेंगे। यह किसी के हित में नहीं है।
यदि आप अपने कोड में सिंक्रनाइज़ / प्रतीक्षा / अधिसूचित से छुटकारा चाहते हैं, तो यह ठीक है। लेकिन आवश्यक रूप से सही बहु-थ्रेडेड कोड की बड़ी मात्रा के पुनर्लेखन के लिए पदावनति आह्वान, और वह एक BAD IDEA होगा। कॉर्पोरेट आईटी प्रबंधक और सॉफ्टवेयर उत्पाद प्रबंधक आपको यह सुझाव देने के लिए घृणा करेंगे ...
यह पढ़ने योग्य है कि जावा दस्तावेज के अनुसार "पदावनत" का क्या अर्थ है : http://docs.oracle.com/javase/1.5.0/docs/guide/javadoc/deprecation/deprecation.html
और यह भी ध्यान दें कि हम जावा लैंग्वेज के मूल में होने वाले सामान के बारे में बात कर रहे हैं। पदावनति synchronized
के भारी परिणाम हैं।