ஜாவாவில் பிளாக்கிங் க்யூ என்றால் என்ன, அதை எவ்வாறு செயல்படுத்தலாம்?



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

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

ஜாவாவில் ஒரு ஈரேட்டரை எவ்வாறு பயன்படுத்துவது

இந்த கட்டுரையில் விவரிக்கப்பட்டுள்ள தலைப்புகள் கீழே:





ஜாவாவில் தடுப்பு இடைமுகம்

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

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



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

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

ஜாவாவில் தடுப்பதற்கான கட்டமைப்பாளர்களின் வகைகள்

ஜாவாவில் பிளாக்கிங் கியூ இடைமுகத்திற்கான இரண்டு வகையான கட்டமைப்பாளர்கள் உள்ளனர்:



  • வரம்பற்ற வரிசை: இந்த வகை வரிசைக்கு, திறன் Integer.MAX_VALUE க்கு அமைக்கப்படும். எல்லையற்ற வரிசை ஒருபோதும் தடுக்கப்படாது, ஏனெனில் அது மாறும் வகையில் வளரக்கூடும், ஒவ்வொரு முறையும் ஒரு உறுப்பு அதில் செருகப்படும். வரம்பற்ற வரிசையை உருவாக்குவதற்கான தொடரியல் கீழே உள்ளது:
BlockingQueue bq = புதிய LinkedBlockingDeque ()
  • கட்டுப்படுத்தப்பட்ட வரிசை: இந்த வகையான வரிசைக்கு, நீங்கள் அதை உருவாக்கும் நேரத்தில் வரிசையின் திறனை கடக்க வேண்டும், அதாவது a பில்டர் அளவுரு. அளவு ஒதுக்கப்பட்டதும், அதை மாற்ற முடியாது. எல்லைக்குட்பட்ட வரிசையை உருவாக்குவதற்கான தொடரியல் கீழே உள்ளது:
BlockingQueue bq = புதிய LinkedBlockingDeque (10)

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

தடுப்பு வரிசை இடைமுகத்தில் முறைகள்

முறை விளக்கம்
பூலியன் சேர் (E e) இந்த வரிசையில் குறிப்பிட்ட உறுப்பை இந்த வரிசையில் செருக உதவுகிறது, அது வரிசையில் இடம் இருந்தால் வேறுஒரு தூக்கி எறியுங்கள்சட்டவிரோத நிலை எக்ஸ்செப்ஷன்
பூலியன் கொண்டுள்ளது (பொருள் ஓ) வரிசையில் குறிப்பிட்ட உறுப்பு இருந்தால் இந்த முறை உண்மைக்குத் திரும்பும்
int வடிகால் (சேகரிப்பு c) இந்த முறை வரிசையில் இருந்து கிடைக்கும் அனைத்து கூறுகளையும் அகற்றி குறிப்பிட்ட சேகரிப்பில் சேர்க்கும்
int drainTo (சேகரிப்பு c, int maxElements) இந்த முறை வரிசையில் இருந்து கொடுக்கப்பட்ட உறுப்புகளின் எண்ணிக்கையை அகற்றி குறிப்பிட்டவற்றில் சேர்க்கும்
பூலியன் சலுகை (E e) இந்த முறை குறிப்பிட்ட உறுப்பு முழுதாக இல்லாவிட்டால் வரிசையில் செருகப்பட்டு உண்மைக்குத் திரும்பும், இல்லையெனில் அது தவறானதாகிவிடும்
பூலியன் சலுகை (E e, நீண்ட நேரம் முடிந்தது, TimeUnit அலகு) இந்த முறை குறிப்பிட்ட உறுப்பை வரிசையில் செருகும். வரிசை நிரம்பியிருந்தால், இடம் கிடைக்க குறிப்பிட்ட காத்திருப்பு நேரம் வரை காத்திருக்கும்.
மின் வாக்கெடுப்பு (நீண்ட நேரம் முடிந்தது, டைம் யூனிட் அலகு) இந்த முறை வரிசையின் தலையை மீட்டெடுக்கவும் அகற்றவும் உதவுகிறது. வரிசை காலியாக இருந்தால், ஒரு உறுப்பு கிடைக்க குறிப்பிட்ட காத்திருப்பு நேரம் வரை காத்திருக்கும்
வெற்றிட புட் (இ இ) இந்த முறை குறிப்பிட்ட உறுப்பை வரிசையில் செருகும், இடம் கிடைக்கக் காத்திருக்கும்
முழு மீதமுள்ள திறன் () இந்த முறை தடுக்கப்படாமல் இந்த வரிசை வெறுமனே ஏற்றுக்கொள்ளக்கூடிய கூடுதல் கூறுகளின் எண்ணிக்கையை திருப்பி அனுப்ப இந்த முறை உதவுகிறது
பூலியன் அகற்று (பொருள் ஓ) இந்த முறை குறிப்பிட்ட தனிமத்தின் ஒரு நிகழ்வை வரிசையில் இருந்து நீக்குகிறது
மின் எடுத்து () வரிசை காலியாக இருந்தால், ஒரு உறுப்பு கிடைக்கும் வரை காத்திருப்பதன் மூலம் வரிசையின் தலையை மீட்டெடுக்கவும் அகற்றவும் இந்த முறை உதவும்.

தடுப்பு வரிசை நடைமுறைகள்

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

இதற்காக நான் 3 வகுப்புகளை உருவாக்குவேன்:

  1. EduProducer
  2. EduConsumer
  3. எடுரேகாமெய்ன்

இப்போது இந்த வகுப்புகள் ஒவ்வொன்றையும் ஒவ்வொன்றாக உருவாக்குவோம்.

EduProducer.java

தொகுப்பு edureka இறக்குமதி java.util.concurrent.BlockingQueue பொது வகுப்பு EduProducer இயங்கக்கூடியது {தனியார் இறுதி தடுப்பு வரிசை வரிசை public பொது வெற்றிடத்தை இயக்கவும் () {try {process ()} catch (InterruptException e) {Thread.currentThread (). குறுக்கீடு ()} v தனியார் வெற்றிட செயல்முறை () குறுக்கீடு எக்ஸ்செப்சனை வீசுகிறது {// (int i = 0 i) க்கு 10 ints வரிசையில் வைக்கவும்<10 i++) { System.out.println('[Producer] Add : ' + i) queue.put(i) System.out.println('[Producer] Queue's Remaining Capacity : ' + queue.remainingCapacity()) Thread.sleep(150) } } public EduProducer(BlockingQueue queue) { this.queue = queue } }

EduConsumer.java

தொகுப்பு பதிப்பு (குறுக்கீடு எக்ஸ்செப்சன் இ) {Thread.currentThread (). குறுக்கீடு ()}} தனியார் வெற்றிட செயல்முறை (இன்டிஜெர் டேக்) வீசுகிறது குறுக்கீடு எக்ஸ்செப்சன் EduConsumer (BlockingQueue queue) {this.queue = வரிசை}}

EdurekaMain.java

தொகுப்பு பதிப்பு .start () புதிய நூல் (புதிய EduConsumer (வரிசை)). தொடங்கு ()}}

குறியீட்டை எழுதி முடித்ததும், கீழேயுள்ள வெளியீட்டைப் பெற நிரலை இயக்கவும்:

[தயாரிப்பாளர்] சேர்: 0 [நுகர்வோர்] எடுத்துக்கொள்ளுங்கள்: 0 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 9 [தயாரிப்பாளர்] சேர்: 1 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 9 [தயாரிப்பாளர்] சேர்: 2 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 8 [தயாரிப்பாளர் ] சேர்: 3 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 7 [நுகர்வோர்] எடுத்துக்கொள்ளுங்கள்: 1 [தயாரிப்பாளர்] சேர்: 4 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 7 [தயாரிப்பாளர்] சேர்: 5 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 6 [தயாரிப்பாளர்] சேர் : 6 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 5 [நுகர்வோர்] எடுத்துக்கொள்ளுங்கள்: 2 [தயாரிப்பாளர்] சேர்: 7 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 5 [தயாரிப்பாளர்] சேர்: 8 [தயாரிப்பாளர்] வரிசையின் மீதமுள்ள திறன்: 4 [தயாரிப்பாளர்] சேர்: 9 .

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

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

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