Saturday 3 February 2018

Waitforexpectationswithtimeout - उद्देश्य - सी डाउनलोड


मेरी भी यही समस्या थी। टाइमआउट अंतराल में वृद्धि करने के लिए मेरे लिए तय किया गया मैं मूल रूप से 1 के एक समय समाप्ति अंतराल था और इसे बढ़ाकर 5 बस सुरक्षित पक्ष पर रहने के लिए। अब ठीक काम करने के लिए दिखाई देता है मुझे यकीन नहीं है कि आपका एसिंक कॉल कब तक ले जाता है, या यदि आप 1 से अधिक समयबाह्य अंतराल खर्च कर सकते हैं, लेकिन इसकी कीमत एक शॉट है 24 नवंबर को 20:14 उत्तर दिया, मैंने इसे करने की कोशिश की, 50 मामलों में यह मदद की। आप कोड में देख सकते हैं मैंने लिखा है कि एसिंक केवल डिस्पैशन के बाद है जो 0.5 एस प्रतीक्षा करता है। अंत में मैं रुको का इंतजार करने के बाद उम्मीद की नीलिंग कर रहा हूं और रुको ब्लॉक के बाद भी सभी पर जोर देता हूं। तो प्रतीक्षा करते समय कुछ भी नहीं होता है ndash Micha Hernas 25 नवंबर 14 11:18 पर स्विफ्ट के लिए विशेष अपवाद तोड़ बिंदु दिखाने के लिए विशेष परेशानी है जब क्लोजर एक ही क्षेत्र में मौजूद हैं। Ive एक XCTestCase में उसी समस्या को देखा है जो डिस्पैच के बाद इस्तेमाल किया गया था और अपवाद ब्रेकपॉइंट के माध्यम से भी इंतजार के रूप में एक ही पंक्ति थी.फोरएक्सेक्शंस के साथ टाइमटाइम परीक्षण का मामला शून्य वस्तु पर उदासीन होने के कारण दुर्घटनाग्रस्त था। मुझे पता है कि यह आपके मामला नहीं है, लेकिन जब भी ऐसा होता है, मैं एक बार में एक पंक्ति को एक पंक्ति से हटाने और हर निष्कासन के बाद परीक्षण चलाने का सुझाव देता हूं। यदि परीक्षण क्रैश नहीं होता है, तो आपने अपराधी की पहचान की है। यह दुर्भाग्यवश इस लेखन के समय सबसे अच्छा विकल्प है जब स्विफ्ट एक अपवाद विचरण को उस रेखा पर दिखाता है जो समझ में नहीं आता है, खासकर एक वर्ग की कुख्यात लाइन 0 जिसे आप क्रैश रिपोर्टिंग टूल में देख सकते हैं। हमें बताएं कि क्या आपने अपनी दुर्घटना का पता लगाया है। अन्य उत्तरों में व्यापक रूप से कवर की गई सीमाफोर तकनीक के अलावा, अब हम एक्ससीटेस्ट XCTest में एक्ससीटेस्ट का उपयोग XCTestExpectation के माध्यम से एसिंक्रोनस टेस्ट करने के लिए कर सकते हैं। एसिंक्रोनस कोड का परीक्षण करते समय यह सेमाफोर की आवश्यकता को समाप्त करता है। उदाहरण के लिए: भविष्य के पाठकों की खातिर, जब प्रेषण सेमाफोर तकनीक पूरी तरह जरूरी हो तो एक अद्भुत तकनीक होती है, मुझे यह स्वीकार करना होगा कि मैं बहुत सारे नए डेवलपर्स को देखता हूं, अच्छा एसिंक्रोनस प्रोग्रामिंग पैटर्न से अपरिचित, एक सामान्य तंत्र के रूप में semaphores को बहुत जल्दी की ओर झुकना एसिंक्रोनस रूटीन सिंक्रोनस से व्यवहार करने के लिए इससे भी बदतर Ive देखा उनमें से कई मुख्य कतार से इस सिकंदरा तकनीक का उपयोग (और हम उत्पादन क्षुधा में मुख्य कतार ब्लॉक चाहिए कभी नहीं) मुझे पता है कि यह मामला यहाँ नहीं है (जब यह प्रश्न पोस्ट किया गया था, तो XCTestExpectation जैसे एक अच्छा उपकरण भी नहीं था, इन परीक्षण सूट में, हमें यह सुनिश्चित करना होगा कि अतुल्यकालिक कॉल किए जाने तक टेस्ट समाप्त नहीं हो)। यह उन दुर्लभ परिस्थितियों में से एक है जहां मुख्य थ्रेड को अवरुद्ध करने के लिए सिक्वारे की तकनीक आवश्यक हो सकती है। इसलिए इस मूल प्रश्न के लेखक से मेरी माफ़ी माँगने के साथ, जिसके लिए सैमाफोर तकनीक सही है, मैं उन सभी नए डेवलपर्स को यह चेतावनी लिखता हूं जो इस सिकंदरा तकनीक को देखते हैं और अपने कोड में अस्सीनोनस से निपटने के लिए एक सामान्य दृष्टिकोण के रूप में आवेदन करने पर विचार करते हैं। विधियों: सावधान रहें कि दस में से नौ बार, अतुल्यकालिक कार्यों का सामना करते समय सैकपावर तकनीक सबसे अच्छा तरीका नहीं है। इसके बजाय, अपने आप को पूरी तरह से ब्लॉक्लोजर पैटर्न के साथ परिचित करें, साथ ही प्रतिनिधि-प्रोटोकॉल पैटर्न और सूचनाएं ये अक्सर समकालिक कार्यों से निपटने के बेहतर तरीके हैं, सिम्फ्रॉरेस का उपयोग करने के बजाय उन्हें तुल्यकालिक तरीके से व्यवहार करने के बजाय आम तौर पर अच्छे कारण होते हैं कि अतुल्यकालिक कार्य को अतुल्यकालिक व्यवहार करने के लिए डिज़ाइन किया गया था, इसलिए उन्हें समकालिक तरीके से व्यवहार करने की कोशिश करने के बजाय सही अतुल्यकालिक पैटर्न का उपयोग करें। उत्तर दिया 29 सितंबर को 6:19 मैं इस बारे में एक प्रश्न पूछता हूं। Iveve एक एसिंक्रोनस कोड है जो एक दर्जन से अधिक AFNetworking डाउनलोड कॉल्स को एक एकल दस्तावेज़ डाउनलोड करने के लिए करता है। मैं एक NSOperationQueue पर डाउनलोड शेड्यूल करना चाहता हूं I जब तक मैं किसी सेमाफोर की तरह कुछ का उपयोग न करें, दस्तावेज़ डाउनलोड एनएसओपरेशन एस पूरी तरह से पूरा होने के लिए दिखाई देगा और वहां डाउनलोडों की कोई वास्तविक कतार नहीं होगी, वे बहुत अधिक समान रूप से आगे बढ़ेंगे, जो मैं चाहता हूं। क्या सीमफ्रॉर्स यहां उचित हैं या फिर एनएसओपरेशन दूसरों के अतुल्यकालिक अंत तक इंतजार करने का एक बेहतर तरीका है या कुछ और ndash बेंनोहॉन 12 जून को 12:09 बजे 12:09 नहीं, इस स्थिति में सैकॉफोर का उपयोग नहीं करें। यदि आपके पास ऑपरेशन कतार है जिसके लिए आप AFHTTPRequestOperation ऑब्जेक्ट्स जोड़ रहे हैं, तो आपको तब केवल एक पूरा ऑपरेशन बनाना चाहिए (जो आप अन्य ऑपरेशन्स पर निर्भर करेंगे)। या प्रेषण समूहों का उपयोग करें। बीटीडब्ल्यू, आप कहते हैं कि आप चाहते हैं कि उन्हें एक साथ चलने की ज़रूरत नहीं है, जो कि ठीक है, अगर आपको इसकी ज़रूरत है, लेकिन आप गंभीर प्रदर्शन जुर्माना देते हैं, जो क्रमिक रूप से इसके बजाय क्रमिक रूप से करते हैं। मैं आम तौर पर 4/5 का अधिकतम कॉन्केंचरऑपरेशन काउंट का उपयोग करता हूं

No comments:

Post a Comment