के साथ समांतर HTTP अनुरोध मेरे पास एक एंड्रॉइड एप्लिकेशन है जो वर्तमान में Volley
लाइब्रेरी का उपयोग नेटवर्क अनुरोध करने और NetworkImageView
के साथ डाउनलोड की गई छवियों को दिखाने के लिए कर रहा है।रेट्रोफिट
मैं Retrofit
की क्षमताओं का परीक्षण करना चाहता हूं और चूंकि मुझे बहुत से अनुरोध (हजारों) चलाने की आवश्यकता है, मैं समानांतर निष्पादन के बारे में चिंतित हूं। Volley
RequestQueue
के साथ समांतर अनुरोधों को संभालता है जो समवर्ती चल रहे अनुरोधों को चार तक सीमित करता है, जबकि अन्य अनुरोधों को निष्पादित करने के लिए प्रतीक्षा की जाती है। Retrofit
दस्तावेज में मुझे समवर्ती अनुरोधों की संख्या को संभालने का कोई तरीका नहीं मिला है और मुझे संदेह है कि इस तरह के विवरण इस पुस्तकालय में डेवलपर को छोड़ दिए गए हैं।
क्या यह सही है? यदि हां, तो क्या कोई एंड्रॉइड उन्मुख कार्यान्वयन/पुस्तकालय उपलब्ध है? अन्यथा, समांतर अनुरोधों को संभालने के लिए सर्वोत्तम प्रथाएं क्या हैं?
क्या आप मेरे धागे को संभालने के लिए 'ThreadPoolExecutor' का उपयोग करने का सुझाव दे रहे हैं? यदि हां, तो मैं 'वॉली' में माइग्रेट करने से पहले इसका उपयोग कर रहा था, लेकिन मेरे पास दो मुख्य समस्याएं थीं: 1) मैं कुछ अनुरोध खो रहा था क्योंकि कतार पूरी थी, वॉली की एक असीमित कतार है। 2) कुछ अनुरोध कतार से हटा दिए गए थे क्योंकि वे बहुत लंबे समय तक इंतजार कर रहे थे। – Vektor88
हां। एक असंबद्ध कतार का उपयोग करना 1 और 2 दोनों को हल करेगा। कुछ चुनने के लिए 'java.util.concurrent' में कुछ हैं। –
संकेतों के लिए धन्यवाद, यह निश्चित रूप से काम कर रहा है। – Vektor88