रेंट्रेंट लॉक
![](https://cdn.codegym.cc/images/article/ee2cd199-b06a-4310-93c0-67f113b8ba93/1024.jpeg)
स्थिति - तालों में शर्तें लागू करने से आप स्ट्रीम एक्सेस प्रबंधन पर नियंत्रण प्राप्त कर सकते हैं। लॉक स्थितिjava.util.concurrent.locksसे कंडीशन इंटरफ़ेस का एक ऑब्जेक्ट है । कंडीशन ऑब्जेक्ट्सकई तरह से ऑब्जेक्ट क्लासवेट/नोटिफ़िकेशन/नोटिफ़िकेशन, जिसकी चर्चा पिछले विषयों में से एक में की गई थी।
लॉक लॉक फ्रेमवर्कसे एक इंटरफ़ेस हैजो सिंक्रनाइज़ की तुलना में संसाधनों/ब्लॉकों तक पहुंच को प्रतिबंधित करने के लिए एक लचीला दृष्टिकोण प्रदान करता है। कई तालों का उपयोग करते समय, उनकी रिहाई का क्रम मनमाना हो सकता है, साथ ही इसे कॉन्फ़िगर भी किया जा सकता है। उस स्थिति को संभालने की भी संभावना है जब लॉक पहले से ही कब्जा कर लिया गया हो।
ReentrantLock लॉक इंटरफ़ेस, ReentrantLock क्लासके कार्यान्वयन में से एक है। यह उसी थ्रेड को लॉक मेथड को कॉल करने की अनुमति देता है, भले ही उसने लॉक को रिलीज़ किए बिना इसे पहले कॉल किया हो।
ReentrantLock क्लास , लॉक इंटरफ़ेस के तरीकों के अलावा , एक फ़ैक्टरी विधि newCondition () है । यह विधि एक वस्तु लौटाती हैस्थिति, जो आपको वर्तमान थ्रेड को दिए गए ऑब्जेक्ट के प्रतीक्षा सेट में जोड़ने की अनुमति देता हैस्थिति.
private final Lock R_LOCK = ReentrantLock();
R_LOCK.lock();
try {
//some action happens here
} finally {
R_LOCK.unlock();
}
ReadWriteLock रीड/राइट लॉक बनाने के लिए एक इंटरफ़ेस है। ताले बहुत उपयोगी होते हैं जब एक सिस्टम में बहुत अधिक पढ़ता है और कुछ लिखता है।
ReentrantReadWriteLock - बहु-थ्रेडेड सेवाओं और कैश में उपयोग किया जाता है, सिंक्रनाइज़ किए गए ब्लॉकों की तुलना में अच्छा प्रदर्शन बढ़ावा देता है। वास्तव में, वर्ग 2 परस्पर अनन्य मोड में काम करता है: कई पाठक डेटा को समानांतर में पढ़ते हैं और जब केवल 1 लेखक डेटा लिखता है।
ReentrantReadWriteLock.ReadLock - पाठकों के लिए रीड लॉक, readWriteLock.readLock () के माध्यम से प्राप्त किया गया।
ReentrantReadWriteLock.WriteLock - लेखकों के लिए राइट लॉक, readWriteLock.writeLock () के माध्यम से प्राप्त किया गया।
समकालीन बनानेवाला
![](https://cdn.codegym.cc/images/article/cb9ae844-7dce-459b-b8af-55a1830c5fb1/512.jpeg)
एब्सट्रैक्टऑनेबलसिंक्रनाइज़र बेस क्लास है जो सिंक्रोनाइज़ेशन मैकेनिज़्म के निर्माण के लिए ज़िम्मेदार है। एक विशेष स्ट्रीम को याद रखने और पढ़ने के लिए एक गेट्टर / सेटर शामिल है जो आपके डेटा पर काम कर सकता है।
एब्सट्रैक्टक्यूड सिंक्रोनाइज़र FutureTask, काउंटडाउनलैच, सेमाफोर, रेंट्रेंटलॉक, रेंट्रेंटरीडराइटलॉक में सिंक्रोनाइज़ेशन मैकेनिज़्म के लिए बेस क्लास है। इसका उपयोग नए तुल्यकालन तंत्र बनाते समय भी किया जाता है जो एकल और परमाणु अंतर मान पर निर्भर करता है।
AbstractQueuedLongSynchronizer , AbstractQueuedSynchronizer का एक प्रकार हैजो परमाणु लंबे मान का समर्थन करता है।