स्विंग का एक धागा है जो मूल रूप से उपयोगकर्ता को आपके एप्लिकेशन के ग्राफ़िकल भाग से इंटरैक्ट करने देता है। यदि आप उपयोगकर्ता द्वारा शुरू की गई घटनाओं के जवाब में केवल त्वरित कार्य करते हैं, तो आपका आवेदन हमेशा उत्तरदायी होगा।
यदि आप उस कार्य को चलाने के लिए अलग थ्रेड का उपयोग किए बिना किसी उपयोगकर्ता द्वारा शुरू किए गए ईवेंट से लंबे समय तक चलने वाले कार्य को निष्पादित करते हैं, तो समस्या हो सकती है - समस्या यह है कि, कार्य चल रहा है, तो एप्लिकेशन स्थिर हो जाएगा। कोई पश्चाताप नहीं होगा, उपयोगकर्ता इसके साथ बातचीत करने में सक्षम नहीं होगा, ऐसा लगता है कि एप्लिकेशन ने खुद को बंद कर दिया है।
यदि आप एक अलग थ्रेड में कोई कार्य चला रहे हैं (उदाहरण के लिए, आप एक पृष्ठ डाउनलोड कर रहे हैं और आप उपयोगकर्ता को सूचित करना चाहते हैं कि डाउनलोड पूरा हो गया है), तो आप सीधे उस कार्य से स्विंग को अपडेट नहीं कर सकते आपको अपने प्रश्न में वर्णित सहायक तरीकों में से एक का उपयोग करना होगा।
यह इन कार्यों को बनाने के लिए एक और श्रम-गहन प्रक्रिया है ताकि आपका आवेदन हमेशा उत्तरदायी हो - लेकिन यदि आप ऐसा कुछ चल रहे हैं जो लंबे समय तक लेता है (फ़ाइल डाउनलोड करना एक अच्छा उदाहरण है), तो आवेदन जारी रहेगा कार्य पूरा होने के बावजूद उत्तरदायी बनें, और आप उपयोगकर्ता को कार्य को रद्द करने की अनुमति भी दे सकते हैं, जब तक कार्य स्वयं ही अनुमति देता है। कार्य निष्पादित होने पर उपयोगकर्ता को कुछ और करने से रोकने के लिए आप एक मॉडल संवाद का उपयोग कर सकते हैं (यदि आप ऐसा करना चाहते हैं), या एक प्रगति संवाद है जो एक कताई चक्र या ऐसा कुछ प्रदर्शित करता है। लेकिन मुझे लगता है कि महत्वपूर्ण बात यह नहीं है कि उपयोगकर्ता को लगता है कि आवेदन किसी भी कारण से सिर्फ "जम गया" है।
स्रोत
2012-11-22 20:55:32
मैं जानना चाहता हूं कि इस सवाल को कम क्यों करें ... इसके साथ क्या गलत है? – gotch4
एक उपरोक्त है। मुझे लगता है कि आपका सवाल ठीक है। –
हो सकता है कि आप उस संदर्भ को लिंक कर सकें जहां आपने यह सुना है? – Axel