मुझे संदेह है कि जावा भाषा में, हमें कुछ शर्त होने से पहले, लॉक पकड़ने की आवश्यकता है।लॉक स्थिति का इंतजार क्यों लॉक
उदाहरण के लिए, पूर्णांक जावा मॉनिटर ताला:
synchronized(lock){
System.out.println("before lock ...");
lock.wait();
System.out.println("after lock ...");
}
या cucurrent utils।
Lock lock = new ReentrantLock();
Condition cond = lock.newCondition();
lock.lock();
try{
System.out.println("before condition ...");
cond.await();
System.out.println("after condition ...");
}catch(Exception e){
e.printStackTrace();
}finally{
lock.unlock();
}
तो, हम लॉक पकड़ने के बिना क्यों इंतजार नहीं कर सकते हैं?
यदि जावा की वजह से, अन्य भाषा काम अलग-अलग हैं?
मुझे आशा है कि आप डिज़ाइन के बाद कारण बता सकते हैं, न केवल जावा-एसपीईसी परिभाषा के लिए।
जावा वर्चुअल मशीन के संदर्भ में चलता है, और वर्चुअल मशीन का व्यवहार निर्दिष्ट होता है। –
तो, यह SPEC की वजह से है? – Chinaxing
बेशक यह विनिर्देश के कारण है। अजीब सवाल। – EJP