2012-08-28 5 views
8

पर सिंक्रोनस बनाम असिंक्रोनस मैं सोच रहा था कि मेरे मामले में क्या करना चाहिए। मुझे एक बाकी सर्वर से डेटा प्राप्त करना है और इसे अपने आवेदन पर प्रदर्शित करना है। इसके लिए यूआई एक वेबव्यू है और यदि सर्वर से कोई डेटा प्राप्त नहीं हुआ है तो स्क्रीन पर प्रदर्शित करने के लिए कुछ भी नहीं है। इस मामले में क्या मैं एसिंक अनुरोध या सिंक अनुरोध का उपयोग करता हूं? इसके अलावा मेरा दूसरा सवाल यह है कि एक अलग थ्रेड पर सिंक अनुरोध के विरोध में एसिंक अनुरोध के बीच क्या अंतर है? (मैंने सोचा कि वैसे भी async क्या करता है) .. किसी भी मदद की सराहना की जाएगी। मैं आईओएस के लिए एक नौसिखिया .. धन्यवादआईफोन

+0

तो क्या आप वेब सर्वर में प्रदर्शित करने के लिए शेष सर्वर से HTML प्राप्त कर रहे हैं? और क्या आपके ऐप में कोई अन्य भाग नहीं है? यदि आप उपयोगकर्ता को गैर-उत्तरदायी विचार छोड़ना चाहते हैं तो आपको मुख्य धागे को अवरुद्ध नहीं करना चाहिए। –

+0

हाँ यह सही है। किसी अन्य सर्वर से एचटीएमएल प्राप्त करना – CodeGeek123

+2

इस आलेख को दिखाएं http://www.cocoaintheshell.com/2011/04/nsurlconnection-synchronous-asynchronous/ – tikhop

उत्तर

12

आपको हमेशा नेटवर्क अनुरोधों के एसिंक्रोनस लोडिंग का उपयोग करना चाहिए। किसी नेटवर्क प्रतिक्रिया के लिए प्रतीक्षा मुख्य थ्रेड को कभी भी अवरुद्ध न करें।

असिंक्रोनस या तो अलग थ्रेड पर सिंक्रोनस हो सकता है, या किसी थ्रेड के रन लूप में निर्धारित किया जा सकता है।

आशा है कि इससे मदद मिलती है!

0

असिंक्रोनस और सिंक्रोनस के बीच का अंतर यह है कि सिंक्रोनस पीसी संचार का अधिक प्रभावी तरीका है। हालांकि एसिंक्रोनस ईमेल अनुप्रयोगों, इंटरनेट एक्सेस और नेटवर्किंग के लिए उपयोग की जाने वाली संचार का सबसे आम तरीका है। सिंक्रोनस आमतौर पर बड़े डेटा बोक्स के संचरण के लिए प्रयोग किया जाता है।