2012-03-18 8 views
5

मेरे पास ऑब्जेक्ट्स हैं जिन्हें मुझे 1 थ्रेड में प्रदर्शित करने की आवश्यकता है और लगातार 2. थ्रेड में अपडेट करना होगा। क्या एंड्रॉइड पर जावा के लिए इस तरह की पहुंच (लॉक/अनलॉक) को किसी ऑब्जेक्ट या म्यूटेक्स जैसी किसी ऑब्जेक्ट को संभालने का एक अनुशंसित तरीका है?एंड्रॉइड के लिए जावा में किसी ऑब्जेक्ट तक पहुंच को सिंक्रनाइज़ करने के लिए अनुशंसित विधि क्या है?

उत्तर

3

यदि आप थ्रेड के बीच सिंक्रनाइज़ करना चाहते हैं तो यह कहीं भी जावा के समान ही है: कोई विशेष एंड्रॉइड.कॉमकंटेंट पैकेज नहीं है।

एंड्रॉइड में कुछ वर्ग हैं जो सामान्य रूप से हैंडलर & AsyncTask जैसे समेकन के साथ मदद करते हैं लेकिन वे थ्रेड संदर्भों को स्विच करने के बारे में अधिक हैं। फिर भी वे आपके प्रश्न का उत्तर हो सकते हैं: यदि सही तरीके से उपयोग किया जाता है तो आपको सिंक्रनाइज़ करने की आवश्यकता नहीं हो सकती है।

+0

हैंडलर और असिनकटास्क निश्चित रूप से हार्डकोडर के लिए जाने का तरीका बनने जा रहे हैं क्योंकि डाल्विक मुख्य UI थ्रेड के बाहर कहीं भी दृश्य पदानुक्रम तक पहुंचने की अनुमति देने के बारे में बहुत ही स्पर्शपूर्ण है। – scriptocalypse

0

एंड्रॉइड (java.util.concurrent.locks.Lock) में लॉक कार्यान्वयन है "एक लॉक एकाधिक थ्रेड द्वारा साझा संसाधन तक पहुंच को नियंत्रित करने के लिए एक उपकरण है"। यहां: http://developer.android.com/reference/java/util/concurrent/locks/Lock.html। मल्टीथ्रेडिंग यूआई एक्सेस थोड़ा अलग है।