ஜாவாவில் எக்ஸிகியூட்டர் சர்வீஸ் என்றால் என்ன, அதை எவ்வாறு உருவாக்குவது?



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

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

நிறைவேற்றுபவர் கட்டமைப்பு என்றால் என்ன?

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





நிறைவேற்றுபவர் ஒரு ஒரு பயன்பாட்டில் நூல்களை உருவாக்க மற்றும் நிர்வகிக்க உங்களுக்கு உதவுகிறது. தி பின்வரும் பணிகளில் உங்களுக்கு உதவுகிறது.

  • நூல் உருவாக்கம்: இது உங்கள் பயன்பாடுகளை ஒரே நேரத்தில் இயக்க உதவும் நூல்களை உருவாக்குவதற்கான பல்வேறு முறைகளை வழங்குகிறது.



  • நூல் மேலாண்மை: இது நூல் வாழ்க்கைச் சுழற்சியையும் நிர்வகிக்கிறது. செயலாக்கத்திற்கான பணியைச் சமர்ப்பிக்கும் முன் நூல் செயலில், பிஸியாக அல்லது இறந்திருந்தால் நீங்கள் கவலைப்பட தேவையில்லை.

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

ஜாவா-எடுரேகாவில் நிறைவேற்றுபவர் சேவை-நிறைவேற்றுபவர் சேவை

ஜாவா எடுத்துக்காட்டில் நிறைவேற்றுபவர் சேவை

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



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

இறக்குமதி java.util.concurrent.ExecutorService இறக்குமதி java.util.concurrent.Executor பொது வகுப்பு எடுத்துக்காட்டு {பொது நிலையான வெற்றிட பிரதான (சரம் [] args) {System.out.println ('உள்ளே:' + Thread.currentThread (). getName ( )) System.out.println ('நிறைவேற்றுபவர் சேவையை உருவாக்குதல்') நிறைவேற்றுபவர் சேவை நிறைவேற்றுபவர் சேவை = நிறைவேற்றுபவர்கள் '+ Thread.currentThread (). GetName ())} System.out.println (' இயங்கக்கூடியவர்களால் குறிப்பிடப்பட்ட பணியை நிறைவேற்று சேவையில் சமர்ப்பிக்கவும் ') executorervice.submit (இயக்கக்கூடியது)}}
 வெளியீடு: உள்ளே: முக்கியமாக உருவாக்குதல் நிறைவேற்றுபவர் சேவையை இயக்கக்கூடியது, இயங்கக்கூடியவர்களால் குறிப்பிடப்பட்ட பணியை நிர்வாகிகள் சேவையில் சமர்ப்பிக்கவும்: பூல் -1-நூல் -1

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

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

ஜாவா எக்ஸிகியூட்டர் சேவை அமலாக்கங்கள்

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

ThreadPoolExecutor

ThreadPoolExecutor அதன் உள்நாட்டில் பூல் செய்யப்பட்ட நூல்களில் ஒன்றைப் பயன்படுத்தி கொடுக்கப்பட்ட பணிகளைச் செய்கிறது.

ஒரு நூல் பூல் எக்ஸிகியூட்டரை உருவாக்குகிறது

int corePoolSize = 5 int maxPoolSize = 10 long keepAliveTime = 5000 ExecutorService threadPoolExecutor = new threadPoolExecutor (corePoolSize, maxPoolSize, keepAliveTime, TimeUnit.MILLISECONDS, new LinkedBlockingQue

திட்டமிடப்பட்ட த்ரெட்பூல் எக்ஸிகியூட்டர்

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

உதாரணமாக

திட்டமிடப்பட்ட எக்ஸிகியூட்டர் சர்வீஸ் திட்டமிடப்பட்ட எக்ஸிகியூட்டர்ஸ் சர்வீஸ் = எக்ஸிகியூட்டர்ஸ்.நியூஷெடூல்ட் த்ரெட்பூல் (5) திட்டமிடப்பட்ட எதிர்கால திட்டமிடப்பட்ட எதிர்காலம் = திட்டமிடப்பட்ட எக்ஸிகியூட்டர் சர்வீஸ்.செடூல் (புதிய அழைக்கக்கூடிய () {பொது பொருள் அழைப்பு () விதிவிலக்கு வீசுகிறது இரண்டாவது)

நிறைவேற்றுபவர் சேவை பயன்பாடு

ஒரு நிறைவேற்றுபவர் சேவைக்கு பணிகளை ஒப்படைக்க சில வேறுபட்ட வழிகள் உள்ளன.

  • இயக்கவும் (இயக்கக்கூடியது)

  • சமர்ப்பிக்கவும் (இயக்கக்கூடியது)

  • invokeAny ()

  • invokeAll ()

இயக்கக்கூடியதை இயக்கவும்

ஜாவா எக்ஸிகியூட்டர் சர்வீஸ் எக்ஸிகியூட் (இயக்கக்கூடியது) ஒரு java.lang.Runnable பொருளை எடுத்து ஒத்திசைவற்ற முறையில் செயல்படுத்துகிறது.

எக்ஸிகியூட்டர் சர்வீஸ் எக்ஸிகியூட்டர் சர்வீஸ் = எக்ஸிகியூட்டர்ஸ்.நியூசிங்கிள் த்ரெட் எக்ஸிகியூட்டர் () எக்ஸிகியூட்டர் சர்வீஸ்

இயங்கக்கூடிய இயக்கத்தின் முடிவைப் பெற வழி இல்லை, அதற்கு நீங்கள் அழைக்கக்கூடியதைப் பயன்படுத்த வேண்டும்.

இயக்கக்கூடியதை சமர்ப்பிக்கவும்

ஜாவா எக்ஸிகியூட்டர் சர்வீஸ் சமர்ப்பிப்பு (இயக்கக்கூடிய) முறை இயங்கக்கூடிய செயலாக்கத்தை எடுத்து எதிர்கால பொருளை வழங்குகிறது. இயக்கக்கூடியது இயங்குவதை முடித்துவிட்டதா என சோதிக்க எதிர்கால பொருளைப் பயன்படுத்தலாம்.

எதிர்கால எதிர்காலம் = executorService.submit (புதிய இயங்கக்கூடிய () {பொது வெற்றிட ரன் () {System.out.println (: ஒத்திசைவற்ற பணி ')}}) future.get () // பணி சரியாக முடிந்தால் பூஜ்யமாகத் திரும்பும்.

அழைக்கக்கூடியதை சமர்ப்பிக்கவும்

ஜாவா எக்ஸிகியூட்டர் சர்வீஸ் சமர்ப்பிப்பு (அழைக்கக்கூடியது) முறை சமர்ப்பிக்க (இயக்கக்கூடியது) ஒத்ததாக இருக்கிறது, ஆனால் இது ரன்னபிள் என்பதற்கு பதிலாக ஜாவா அழைக்கக்கூடியது.

எதிர்கால எதிர்காலம் = executorService.submit (புதிய அழைப்பு () {பொது பொருள் அழைப்பு () விதிவிலக்கு வீசுகிறது {System.out.println ('ஒத்திசைவற்ற அழைப்பு') 'அழைக்கக்கூடிய முடிவு' return}) System.out.println ('future.get ( ) = 'future.get ())
 வெளியீடு: ஒத்திசைவற்ற அழைப்பு எதிர்காலம்.ஜெட் = அழைக்கக்கூடிய முடிவு

invokeAny ()

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

நிறைவேற்றுபவர் சேவை நிறைவேற்றுபவர் சேவை = நிறைவேற்றுபவர்கள்.புதிய சிங்கிள் த்ரெட் எக்ஸிகியூட்டர் () அமைcallables = புதிய ஹாஷ்செட். }) callables.add (புதிய அழைப்பு () {பொது சரம் அழைப்பு () விதிவிலக்கு வீசுகிறது {return'task C '}}) சரம் முடிவு = executorService.invokeAny (callables) System.out.println (' result = '+ result) executorService .ஷட் டவுன் ()

மேலே உள்ள குறியீட்டை நீங்கள் இயக்கும்போது, ​​முடிவு மாறுகிறது. இது பணி ஏ, பணி பி மற்றும் பல இருக்கலாம்.

இன்வோக்அல் ()

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

நிறைவேற்றுபவர் சேவை நிறைவேற்றுபவர் சேவை = நிறைவேற்றுபவர்கள்.புதிய சிங்கிள் த்ரெட் எக்ஸிகியூட்டர் () அமைcallables = புதிய ஹாஷ்செட். }) callables.add (புதிய அழைக்கக்கூடிய () {பொது சரம் அழைப்பு () விதிவிலக்கு வீசுகிறது {திரும்ப 'பணி சி'}}) பட்டியல்(எதிர்கால எதிர்காலம்: எதிர்காலம்) {System.out.println ('future.get =' + future.get ())} executorService.shutdown () க்கான futures = executorService.invokeAll (அழைக்கக்கூடியவை)

இயக்கக்கூடிய Vs அழைக்கக்கூடியது

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

அழைக்கக்கூடிய பிரகடனம்:

பொது இடைமுகம் அழைக்கக்கூடியது {பொது பொருள் அழைப்பு () விதிவிலக்கு வீசுகிறது}

இயக்கக்கூடிய அறிவிப்பு:

பொது இடைமுகம் இயக்கக்கூடிய {பொது வெற்றிட ரன் ()}

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

html இல் உள்ளமை அட்டவணைகள் செய்வது எப்படி

பணியை ரத்துசெய்

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

future.cancel ()

நிறைவேற்றுபவர் சேவை பணிநிறுத்தம்

செயல்படுத்தல் முடிந்த பிறகும் நூல்கள் இயங்குவதைத் தடுக்க, நீங்கள் நிறைவேற்றுபவர் சேவையை மூட வேண்டும்.

பணிநிறுத்தம் ()

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

executorService.shutdown ()

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

“ஜாவாவில் நிறைவேற்றுபவர் சேவை” குறித்த இந்த கட்டுரையை நீங்கள் கண்டால், பாருங்கள் உலகம் முழுவதும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனம்.

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

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