के साथ थ्रू थ्रूपुट जिस मामले में मैं अभी हूं, उसे समझा जाना काफी मुश्किल है, इसलिए मैं इस मुद्दे को समझाने के लिए एक सरल संस्करण लिखूंगा।RxJava
मेरे पास Observable.from()
है जो फ़ाइलों की एक अनुक्रम को ArrayList
फ़ाइलों द्वारा परिभाषित करता है। इन सभी फ़ाइलों को सर्वर पर अपलोड किया जाना चाहिए। इसके लिए मेरे पास एक ऐसा कार्य है जो नौकरी करता है और Observable
देता है।
Observable<Response> uploadFile(File file);
मुझे इस कोड की यह पागल हो जाता है चलाने के लिए, Observable.from()
फ़ाइलों के सभी का उत्सर्जन करता है और वे लोगों को बिल्कुल भी अपलोड किया जाता है, या कम से कम धागे इसे संभाल कर सकते हैं की एक अधिकतम के लिए।
मैं समानांतर में अधिकतम 2 फ़ाइल अपलोड करना चाहता हूं। क्या कोई ऑपरेटर है जो मेरे लिए इसे संभाल सकता है?
मैं बफर, खिड़की और कुछ अन्य की कोशिश की लेकिन वे केवल बजाय दो समानांतर फ़ाइल अपलोड लगातार होने के एक साथ दो आइटम फेंकना करने लगता है। मैंने अपलोडिंग भाग पर अधिकतम थ्रेड पूल सेट करने का भी प्रयास किया, लेकिन इसका उपयोग मेरे मामले में नहीं किया जा सकता है।
इस अधिकार के लिए एक साधारण ऑपरेटर होना चाहिए? क्या मैं कुछ भूल रहा हूँ?
यह सही लगता है! मैं कोशिश करूँगा और आपको बता दूंगा। –
अच्छा खिड़की ऑपरेटर अब सही काम करता है! मैं उस खिड़की को कैसे हिल सकता हूं? अभी अगर विंडो फ़ाइल 1 और फ़ाइल 2 को उत्सर्जित करने के लिए उत्सर्जित करती है तो यह समाप्त होने तक प्रतीक्षा करता है। फ़ाइल 2 का अपलोड पहले ही निष्पादित किया जा सकता है यदि फ़ाइल 2 पूर्ण हो और 1 अभी भी प्रगति पर है? –
मुझे यकीन नहीं है कि डिफ़ॉल्ट ऑपरेटरों के साथ यह संभव है ताकि आपको अपना ऑपरेटर लिखना पड़े। – Michael