5

अंदर धागे की संख्या का प्रबंधन करने के लिए क्या मैं देख रहा हूँ Asyntask अंदर धागे की एक संख्या का प्रबंधन करने के लिए एक रास्ता मिल रहा है।कैसे सिंक कार्य

मैं सर्वर अद्यतन के साथ अपने स्थानीय डेटाबेस समन्वयित करना होगा। यह बड़ा डेटा हो सकता है जिसे पेजिंग का उपयोग करके पुनर्प्राप्त किया जा सकता है।

क्या कोई मुझे बता सकता है कि एसिन्टास्क के अंदर लूप में थ्रेड उत्पन्न करने का पसंदीदा तरीका क्या है ताकि यह सभी धागे पूरा होने तक प्रगति संवाद प्रदर्शित कर सके।

मैं थोड़ा स्थानीय डेटाबेस वस्तु & ताकि स्थानीय डेटाबेस में/अद्यतन बचाने सर्वर & से डेटा डाउनलोड करने के लिए अलग-अलग धागे के निष्पादन के दौरान अपने सिंक्रनाइज़ेशन के बारे में चिंतित हूँ।

नोट: मैं एक सर्वर कॉल में सर्वर से सभी डेटा डाउनलोड नहीं कर सकता।

अग्रिम धन्यवाद।

उत्तर

2

यदि यह लंबे समय तक चलने वाला ऑपरेशन है तो आपको AsyncTask के बजाय IntentService का उपयोग करना चाहिए। IntentService UI स्वतंत्र है ताकि आप इसे पृष्ठभूमि में चला सकें। यूआई अपडेट करने के लिए आप प्रसारण मंशा भेज सकते हैं। मैं डीबी सिंक के लिए IntentService का उपयोग करें। मैं, सर्वर से डेटा प्राप्त जबकि पार्स मैं बैच अपडेट बनाने और उसके बाद एक बैच अद्यतन के साथ स्थानीय डीबी अद्यतन करें।

+0

लेकिन मैं पुनरावर्तक सर्वर कॉल के समय को कैसे कम कर सकता हूं। मैं एक बार में कई कॉल कैसे कर सकता हूं। –

0
Try this ,  

You can set a static variable that is initialized to zero, and it is incremented 
by each thread .check this variable in asynctask,if it is equal to the no: of threads 
in your class finish it.Simple But works 
संबंधित मुद्दे