क्या आप मुझे बता सकते हैं कि मुझे स्थिति पर इंतजार करने से पहले लॉक जारी करना चाहिए?हालत - प्रतीक्षा से पहले अनलॉक करना चाहिए?
try {
lock.lock();
while (isNotEmpty()) {
condition.await();
}
} finally {
lock.unlock();
}
या
try {
lock.lock();
while (isNotEmpty()) {
lock.unlock();
condition.await();
}
} finally {
lock.unlock();
}
आप पढ़ा है [जावाडोक] (http://docs.oracle.com/javase/7/docs चाहिए अगर आप ऐसा करेंगे /api/java/util/concurrent/locks/Condition.html)? – assylias
'अधिग्रहण(); कोशिश करें {उपयोग(); } अंत में {रिलीज(); } '। यदि आपका अधिग्रहण ('लॉक') विफल रहता है तो आप उस संसाधन को छोड़ देंगे जो आपने कभी नहीं किया था। इस मामले में, आप [पुनर्वित्त] लॉक के एक संलग्न लॉक को अनलॉक कर सकते हैं। –