ஜாவாவில் அழைக்கக்கூடிய இடைமுகத்தை எவ்வாறு செயல்படுத்துவது



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

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

நூல்களில் மறுபரிசீலனை செய்யுங்கள்

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





ஜாவாவில் அழைக்கக்கூடிய இடைமுகம் என்றால் என்ன

ஜாவா 5 க்கு, “java.util.concurrent” வகுப்பு அறிமுகப்படுத்தப்பட்டது. இந்த அழைக்கக்கூடிய இடைமுகம் இயங்கக்கூடிய இடைமுகத்திற்கு ஒத்ததாக இருக்கும் ஒத்திசைவு தொகுப்பு வழியாக கொண்டு வரப்பட்டது. இது எந்தவொரு பொருளையும் திருப்பித் தரலாம் மற்றும் விதிவிலக்கை எறிய முடியும். ஜாவா அழைக்கக்கூடிய இடைமுகம் பொதுவானவற்றைப் பயன்படுத்துகிறது, இதனால் எந்தவொரு பொருளையும் திருப்பித் தர முடியும். நிறைவேற்றுபவர் கட்டமைப்பானது, நூல்களின் தொகுப்பில் அழைக்கக்கூடிய செயலாக்கங்களை செயல்படுத்த சமர்ப்பிக்கும் () முறையை வழங்குகிறது. உண்மையில், ஜாவா எக்ஸிகியூட்டர் கட்டமைப்பானது வொர்க்கர் த்ரெட் வடிவங்களுடன் ஒத்துப்போகிறது.

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



அழைக்கக்கூடிய இடைமுகத்தின் திரும்ப

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

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



அழைக்கக்கூடிய மற்றும் எதிர்கால வகுப்பின் அம்சங்கள்

  • அழைக்கக்கூடிய வகுப்பு ஒரு SAM வகை இடைமுகமாகும், எனவே இதை லாம்ப்டா வெளிப்பாட்டில் செயல்படுத்தலாம்.

  • அழைக்கப்படாத வகுப்பில் ஒரே ஒரு முறை “அழைப்பு ()” உள்ளது, இது ஒத்திசைவற்ற முறையில் இயக்க தேவையான அனைத்து குறியீடுகளையும் வைத்திருக்கிறது.

  • இயங்கக்கூடிய இடைமுக சூழலில், கணக்கீட்டின் முடிவைத் தரவோ அல்லது சரிபார்க்கப்பட்ட விதிவிலக்கை வீசவோ சாத்தியமில்லை. அதேசமயம் அழைக்கக்கூடியது ஒரு மதிப்பைத் திருப்பி, சரிபார்க்கப்பட்ட விதிவிலக்கை எறியும்.

    fibonacci மறுநிகழ்வு c ++
  • கணக்கீடு முடிந்ததும் முடிவுகளை மீட்டெடுக்க எதிர்கால வகுப்பின் Get () முறையைப் பயன்படுத்தலாம். செய்த () முறையைப் பயன்படுத்தி கணக்கீடு முடிந்ததா இல்லையா என்பதை பயனர்கள் சரிபார்க்கலாம்.

  • Future.cancel () முறையைப் பயன்படுத்தி கணக்கீட்டை ரத்துசெய்வதும் சில பயன்பாடுகளில் ஒரு வரப்பிரசாதமாகும்.

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

அழைக்கக்கூடிய மற்றும் இயங்கக்கூடிய வகுப்புகளின் ஒப்பீடு

அழைக்கக்கூடியது இயக்கக்கூடியது
இது ஒரு பகுதியாகும் “ java.util.concurrent ' ஜாவா 1.5 முதல் தொகுப்புஇது ஜாவா 1.0 முதல் java.lang தொகுப்பின் ஒரு பகுதியாகும்
அழைக்கக்கூடியது போன்ற அளவுரு இடைமுகம்அளவுரு அல்லாத இடைமுகம்
சரிபார்க்கப்பட்ட விதிவிலக்கை வீசும் திறன் கொண்டதுஇது சரிபார்க்கப்பட்ட விதிவிலக்கை எறிய முடியாது
இது ஒற்றை முறை, அழைப்பு (), வகை V ஐ வழங்குகிறது, இது வரையறுக்கப்பட்ட இடைமுக அளவுரு “வகை” போன்றதுஇங்கே, இது ரன் () எனப்படும் ஒற்றை முறையைக் கொண்டுள்ளது, அது வெற்றிடத்தைத் தருகிறது

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

தொகுப்பு com.journaldev.threads இறக்குமதி java.util.ArrayList இறக்குமதி java.util.Date இறக்குமதி java.util.List import java.util.concurrent .util.concurrent.Executor இறக்குமதி java.util.concurrent .) அழைக்கக்கூடிய பட்டியலுடன் தொடர்புடைய பொருள்பட்டியல் = புதிய வரிசை பட்டியல்() // MyCallable நிகழ்வை உருவாக்கவும் (int i = 0 i க்கு அழைக்கக்கூடிய அழைக்கக்கூடியது = புதிய MyCallable ()<100 i++){ //submit Callable tasks to be executed by thread pool Future future = executor.submit(callable) //add Future to the list, we can get return value using Future list.add(future) } for(Future fut : list){ try { //print the return value of Future, notice the output delay in console // because Future.get() waits for task to get completed System.out.println(new Date()+ '::'+fut.get()) } catch (InterruptedException | ExecutionException e) { e.printStackTrace() } } //shut down the executor service now executor.shutdown() } } 

நிறைவேற்றுபவர் சேவைகளை நிறுத்துதல்

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

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

பணிநிறுத்தம் செய்ய மூன்று வழிகள் உள்ளன:

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

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

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

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