JavaDocs से:
- एक समवर्ती लाईन क्यू एक उपयुक्त विकल्प है जब कई थ्रेड एक सामान्य संग्रह तक पहुंच साझा करेंगे। यह कतार शून्य तत्वों की अनुमति नहीं देती है।
- ArrayBlockingQueue एक क्लासिक "बाउंडेड बफर" है, जिसमें एक निश्चित आकार की सरणी उत्पादकों द्वारा सम्मिलित तत्व रखती है और उपभोक्ताओं द्वारा निकाली जाती है। यह वर्ग वेटिंग प्रोड्यूसर और कंज्यूमर थ्रेड्स ऑर्डर करने के लिए एक वैकल्पिक निष्पक्षता नीति का समर्थन करता है
- LinkedBlockingQueue में आमतौर पर सरणी-आधारित कतारों की तुलना में उच्चतर थ्रूपुट होता है लेकिन अधिकांश समवर्ती अनुप्रयोगों में कम अनुमानित प्रदर्शन होता है।
मेरे पास 2 परिदृश्य हैं, एक को एक उपभोक्ता के साथ कई उत्पादकों (इसका उपयोग करने वाले धागे) का समर्थन करने के लिए कतार की आवश्यकता होती है और दूसरा आसपास का दूसरा रास्ता है।
मुझे समझ में नहीं आता है कि किस कार्यान्वयन का उपयोग करना है। क्या कोई समझा सकता है कि अंतर क्या हैं?
इसके अलावा, 'वैकल्पिक निष्पक्षता नीति' क्या है ArrayBlockingQueue
?