किसी ऑब्जेक्ट पर थ्रेड wait
से पहले, उसे उस ऑब्जेक्ट पर मॉनीटर प्राप्त करना होगा। मॉनिटर को तब जारी किया जाता है, और धागा जागने के बाद इसे फिर से हासिल करने का प्रयास करता है।जावा: जब ऑब्जेक्ट किसी ऑब्जेक्ट पर प्रतीक्षा करता है तो सभी मॉनीटर जारी किए जाते हैं?
लेकिन wait
पर कॉल करते समय थ्रेड के अन्य मॉनीटरों के साथ क्या होता है?
इस उदाहरण पर विचार:
Object a = // ... Object b = // ... synchronized(a) { synchronized(b) { b.wait(); // continue } }
धागा b.wait()
आवश्यकता होने पर, यह दोनोंa
और b
, या केवल b
पर ताले जारी करेंगे?