कीवर्ड synchronized
+ विधि wait()
+ विधि notify()
विधि के बजाय ताले (java.util.concurrent.locks.Lock
) का उपयोग कर रहा है?स्पष्ट ताले बनाम लागू ताले
मैं थ्रेड-सुरक्षित रूप से कर सकते हैं ताले (स्पष्ट ताले) के बजाय निहित ताले (synchronized
) का उपयोग कर कार्यक्रम?
पता के रूप में मैं हमेशा निहित ताले का उपयोग कर रहा हूं। मुझे Lock
इंटरफ़ेस कार्यान्वयन द्वारा दिए गए फायदों के बारे में पता है: isLocked()
, getLockQueueLength()
, getHoldCount()
, आदि ... हालांकि अभी भी पुराने स्कूल के रास्ते (wait()
और notify()
) में उन तरीकों के अलावा अन्य सीमाएं होंगी?
मैं भी एक (बूलियन निष्पक्षता) पैरामीटर जो भुखमरी की कमी की अनुमति देता है के साथ एक ताला के निर्माण की संभावना के बारे में पता कर रहा हूँ।
ठीक है, यह बिल्कुल * वही नहीं है, जैसे कि वे 100% समान हैं, तो एक का अस्तित्व अनावश्यक होगा ;-) –
@ जोचिम सॉर निश्चित रूप से यह पहली बार नहीं होगा जब प्रोग्रामिंग भाषा में दो समान हों एक ही काम करने के तरीके। – Patashu
@Patashu: निश्चित रूप से नहीं। लेकिन यह संभावना नहीं है कि कम से कम कुछ फायदे (जैसे 'isLocked() 'विधि, ...) नहीं थे, तो वे पहले के बाद एक दूसरा विकल्प जोड़ देंगे। –