ஜாவாவில் காத்திருத்தல் மற்றும் அறிவித்தல் என்றால் என்ன?



ஜாவாவில் காத்திருங்கள் மற்றும் அறிவித்தல் என்பது நூல்கள் ஒருவருக்கொருவர் தொடர்பு கொள்ள அனுமதிக்கும் இரண்டு இறுதி முறைகள். இந்த கட்டுரை விவரங்களுடன் உங்களுக்கு உதவும்

ஜாவாவில் உள்ள அம்சம் ஒரு நிரலின் இரண்டு அல்லது அதற்கு மேற்பட்ட பகுதிகளை ஒரே நேரத்தில் செயல்படுத்த அனுமதிக்கிறது. ஒவ்வொரு பகுதியும் ஒரு நூல். இந்த நூல்கள் பெரும்பாலும் அவற்றின் செயல்களை ஒருங்கிணைக்க வேண்டும். ஜாவாவில் காத்திருங்கள் மற்றும் அறிவித்தல் போன்ற சில இறுதி முறைகளைப் பயன்படுத்தி இது செய்யப்படுகிறது. இந்த முறைகளை விரிவாக புரிந்து கொள்ள இந்த கட்டுரை உங்களுக்கு உதவும்.

நான் பின்வரும் வரிசையில் தலைப்புகளைப் பற்றி விவாதிக்கிறேன்:





ஆரம்பித்துவிடுவோம்!

நூல் ஒத்திசைவு என்றால் என்ன?

பல திரிக்கப்பட்ட நிரல்கள் தொடர்ந்து பல சூழ்நிலைகளைக் கொண்டு வரக்கூடும் மோசடி மற்றும் திடுக்கிடும் விளைவுகளை உருவாக்கும் அதே வளத்தைப் பெற முயற்சிக்கவும். சில நேரங்களில், ஒன்றுக்கு மேற்பட்ட நூல்கள் பகிரப்பட்ட வளத்தை அணுக முயற்சிக்கக்கூடும், ஒரே நேரத்தில் ஒரு நூல் மட்டுமே வளத்தைப் பயன்படுத்தும் என்பதை உறுதிப்படுத்த வேண்டும். இதைப் பயன்படுத்தி செய்யலாம் ஜாவாவில் ஒத்திசைவு.



இப்போது வாக்குப்பதிவு பற்றி பேசுகிறார். வாக்குப்பதிவு என்பது ஒரு நிபந்தனை உண்மையாக இருக்கும் வரை மீண்டும் மீண்டும் சோதிக்கும் செயல்முறையாகும். இந்த முறை உதவியுடன் செயல்படுத்தப்படுகிறது ஒரு குறிப்பிட்ட நிபந்தனை உண்மையா இல்லையா என்பதை சரிபார்க்க. நீங்கள் இந்த முறையை நூல்களுக்குப் பயன்படுத்தலாம், ஆனால் இந்த முறை நிறைய CPU சுழற்சிகளையும் வீணாக்குகிறது செயல்படுத்தல் செயல்முறை மிகவும் திறமையற்றதாக ஆக்குகிறது. இந்த வகையான பிழைகளைத் தவிர்க்க, ஜாவாவில் காத்திருங்கள் மற்றும் அறிவித்தல் போன்ற முறைகள் அறிமுகப்படுத்தப்படுகின்றன.

காத்திரு () மற்றும் அறிவித்தல் () முறைகள் என்ன?

மல்டித்ரெடிங் சிக்கலைச் சமாளிக்க, காத்திருங்கள் மற்றும் அறிவித்தல் போன்ற முறைகள் பயன்படுத்தப்படுகின்றன. பொருள் வர்க்கம் இந்த மூன்று இறுதி முறைகளைப் பயன்படுத்துகிறது, இது ஒரு வளத்தின் பூட்டப்பட்ட நிலையைப் பற்றி நூல்கள் தொடர்பு கொள்ள அனுமதிக்கிறது. அவை காவலர் தொகுதிகள் என்றும் அழைக்கப்படுகின்றன.

c ++ எடுத்துக்காட்டில் செயல்பாடு ஓவர்லோடிங்

காத்திரு()

இந்த முறையானது மற்றொரு நூல் இந்த பொருளின் அறிவிப்பு () மற்றும் அறிவித்தல் அனைத்து () முறைகளையும் அழைக்கும் வரை காத்திருக்கும். இந்த காத்திருப்பு () முறை அழைப்பு நூலை ஒரு பூட்டை விட்டுவிட்டு வேறு சில நூல் அதே மானிட்டரில் நுழைந்து அறிவிக்க அழைக்கும் வரை தூங்கச் செல்லுமாறு கூறுகிறது. இந்த முறை காத்திருப்பதற்கு முன் பூட்டை விடுவிக்கிறது மற்றும் காத்திருப்பு () முறையிலிருந்து திரும்புவதற்கு முன் பூட்டை மீண்டும் பெறுகிறது.



காத்திருப்பு () முறை ஒத்திசைவு பூட்டுடன் இறுக்கமாக ஒருங்கிணைக்கப்பட்டுள்ளது. ஒத்திசைவு பொறிமுறையிலிருந்து நேரடியாக கிடைக்காத அம்சத்தைப் பயன்படுத்தி இது செய்யப்படுகிறது.

தொடரியல்:

ஒத்திசைக்கப்பட்ட (பூட்டு பொருள்) {போது (! நிபந்தனை) {lockObject.night ()} // இங்கே நடவடிக்கை எடுக்கவும்}

தற்போதைய நூல் அதன் பொருளின் மானிட்டரை வைத்திருக்க வேண்டும். இது ஒத்திசைக்கப்பட்ட முறையிலிருந்து மட்டுமே அழைக்கப்பட வேண்டும், இல்லையெனில் அது ஒரு விதிவிலக்கைத் தூண்டும்.

அறிவிக்கவும் ()

அறிவிக்க இந்த முறை பயன்படுத்தப்படுகிறது அது செயல்பட வேண்டும் என்று. இது ஒரு நூலை எழுப்புகிறது காத்திரு() அதே பொருளின் முறை.

அழைப்பதை கவனியுங்கள் அறிவிக்கவும் () இறுதியில் ஒரு பூட்டை விட்டுவிடாது. அது எழுந்திருக்க முடியும் என்று காத்திருக்கும் நூலைக் கூறுகிறது. இருப்பினும், அறிவிப்பாளரின் ஒத்திசைக்கப்பட்ட தொகுதி முடிவடையும் வரை பூட்டு உண்மையில் கைவிடப்படாது. இப்போது நீங்கள் அழைத்தால் சொல்லுங்கள் அறிவிக்கவும் () ஒரு ஆதாரத்தில் ஆனால் அறிவிப்பாளர் அதன் ஒத்திசைக்கப்பட்ட தொகுதிக்குள் இன்னும் 10 வினாடிகள் செயல்களைச் செய்ய வேண்டும், காத்திருந்த நூல் அறிவிப்பாளருக்கு பொருளின் பூட்டை வெளியிடுவதற்கு குறைந்தபட்சம் மற்றொரு கூடுதல் 10 வினாடிகள் காத்திருக்க வேண்டும். () அழைக்கப்பட்டது.

தொடரியல்:

ஒத்திசைக்கப்பட்டது (பூட்டு பொருள்) {// establish_the_condition lockObject.notify () // தேவைப்பட்டால் கூடுதல் குறியீடு}

அறிவிக்கவும் ()

ஒரே பொருளில் காத்திருப்பு () என்று அழைக்கப்பட்ட அனைத்து நூல்களையும் எழுப்ப இந்த முறை பயன்படுத்தப்படுகிறது. அதிக முன்னுரிமை நூல் உத்தரவாதம் அளிக்கப்படாவிட்டாலும் பெரும்பாலான சூழ்நிலைகளில் முதலில் இயங்கும். பிற விஷயங்கள் அறிவித்தல் () முறைக்கு சமமானவை.

ஜாவாவில் காத்திருப்பு () மற்றும் அறிவித்தல் () ஏன், எப்படி பயன்படுத்துவது?

நீங்கள் காத்திருங்கள் மற்றும் அறிவிக்க வேண்டும் ஏனெனில் அவை பூட்டுடன் தொடர்புடையவை மற்றும் பொருளுக்கு ஒரு பூட்டு உள்ளது. ஜாவாவில் காத்திருத்தல் மற்றும் அறிவித்தல் என்பது ஒரு அடிப்படை கருத்து என்றாலும், அவை வரையறுக்கப்பட்டுள்ளன பொருள் வகுப்பு . ஆச்சரியப்படும் விதமாக, காத்திருப்பு மற்றும் அறிவிப்பைப் பயன்படுத்தி குறியீட்டை எழுதுவது அவ்வளவு எளிதானது அல்ல. காத்திருப்பு மற்றும் அறிவிப்பைப் பயன்படுத்தி தயாரிப்பாளர்-நுகர்வோர் சிக்கலைத் தீர்க்க குறியீடு எழுதுவதன் மூலம் இதைச் சோதிக்கலாம். தயாரிப்பாளர் நுகர்வோர் எடுத்துக்காட்டு-ஜாவா-எடுரேகாவில் காத்திருந்து அறிவிக்கவும்இங்கே, நான் ஒரு பகிர்வு வைத்திருக்கிறேன் வரிசை மற்றும்இரண்டு இழைகள்என்று தயாரிப்பாளர் மற்றும் நுகர்வோர் . தயாரிப்பாளர் நூல் எண்ணை பகிரப்பட்ட வரிசையில் வைக்கிறது மற்றும் நுகர்வோர் பகிர்வு வாளியிலிருந்து எண்களை நூல் பயன்படுத்துகிறது.

நிபந்தனை என்னவென்றால், ஒரு பொருளை உற்பத்தி செய்தவுடன், நுகர்வோர் நூல் அறிவிக்கப்பட வேண்டும், அதேபோல், நுகர்வு தயாரிப்பாளர் நூலுக்கு அறிவிக்கப்பட வேண்டும். இந்த இடை-நூல்தொடர்புஜாவாவில் காத்திருப்பு மற்றும் அறிவிப்பைப் பயன்படுத்தி அடையப்படுகிறது.

குறிப்பு : டபிள்யூ.ait மற்றும் இல்லைபொருள் வகுப்பில் tify முறைகள் வரையறுக்கப்படுகின்றன, மற்றும் அவை ஒத்திசைக்கப்பட்ட தொகுதிக்குள் அழைக்கப்பட வேண்டும்.

உதாரணமாக

பொது வகுப்பு Thread1 {பொது நிலையான வெற்றிட மெயின் (சரம் [] args) {Thread2 b = new Thread2 () b.start () ஒத்திசைக்கப்பட்டது (b) {try {System.out.println ('2 நிறைவடையும் வரை காத்திருக்கிறது ...' ) பி. () int (int i = 0 i க்கு {ஒத்திசைக்கப்பட்டது (இது) {<=100 i++) { total += i } notify() }}}

மேலே உள்ள எடுத்துக்காட்டில், Thread2 இன் ஒரு பொருள், அதாவது b, ஒத்திசைக்கப்படுவதைக் கவனியுங்கள். முதன்மை நூல் அதன் மொத்த மதிப்பை வெளியிடுவதற்கு முன்பு இந்த பி கணக்கீட்டை நிறைவு செய்கிறது.

வெளியீடு:

இது நாம் கற்றுக்கொண்ட இந்த கட்டுரையின் முடிவிற்கு நம்மைக் கொண்டுவருகிறது ஜாவாவில் காத்திருங்கள் மற்றும் அறிவிக்கவும்.மேலே குறிப்பிடப்பட்ட உள்ளடக்கம் உங்கள் மேம்பாட்டிற்கு உதவியாக இருக்கும் என்று நம்புகிறேன் அறிவு. தொடர்ந்து படிக்கவும், ஆராய்ந்து கொண்டே இருங்கள்!

மேலும் பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால். ஜுவா டெவலப்பராக விரும்பும் மாணவர்கள் மற்றும் நிபுணர்களுக்காக எடுரேகாவின் ஜாவா ஜே 2 இஇ மற்றும் எஸ்ஓஏ பயிற்சி மற்றும் சான்றிதழ் பாடநெறி வடிவமைக்கப்பட்டுள்ளது. ஜாவா புரோகிராமிங்கில் உங்களுக்கு ஒரு தொடக்கத்தைத் தருவதற்கும், பல்வேறு மற்றும் முக்கிய மற்றும் மேம்பட்ட ஜாவா கருத்தாக்கங்களுக்கும் உங்களுக்கு பயிற்சி அளிப்பதற்காக இந்த படிப்பு வடிவமைக்கப்பட்டுள்ளது ஹைபர்னேட் & ஸ்பிரிங் போன்றவை.