एक लॉक हमेशा कोशिश/आखिरकार ब्लॉक के बाद होता है, क्यों?थ्रेड - क्यों प्रयास करें और आखिरकार
ReentrantReadWriteLock readWriteLockBitmap = new ReentrantReadWriteLock();
Lock read = readWriteLockBitmap.readLock();
Lock write = readWriteLockBitmap.writeLock();
int shared = 0;
public void function1(){
read.lock();
try{
//reading shared int
}
finally{
read.unlock();
}
}
public void function 2(){
write.lock();
try{
//modify shared int
}
finally{
write.unlock();
}
}
क्यों इस कोशिश कर रहा/अंत में ब्लॉक और बस के रूप में इस कोड लिखने नहीं:
ReentrantReadWriteLock readWriteLockBitmap = new ReentrantReadWriteLock();
Lock read = readWriteLockBitmap.readLock();
Lock write = readWriteLockBitmap.writeLock();
int shared = 0;
public void function1(){
read.lock();
//reading shared int
read.unlock();
}
public void function 2(){
write.lock();
//modify shared int
write.unlock();
}
संभावित डुप्लिकेट [हम लॉक.लॉक और लॉक.नलॉक के लिए अंततः प्रयास कैसे करेंगे] (http: // stackoverflow।कॉम/प्रश्न/4664717/कैसे-होगा-हम-उपयोग-कोशिश-अंत-के-लॉक-लॉक-एंड-लॉक-अनलॉक) – JasonMArcher