दिलचस्प पोस्ट
HTTPS और SSL3_GET_SERVER_CERTIFICATE: प्रमाणपत्र विफल हो गया, CA ठीक है एएसपी.नेट एमवीसी विशेषता के साथ काम करने के लिए ELMAH कैसे प्राप्त करें? क्या स्थितियों में CopyOnWriteArrayList उपयुक्त है? जार में लोड गुण फ़ाइल? एक ही इकाई के साथ कई-से-कई सहयोग को हाइबरनेट करें पॉइंटर्स का उपयोग कर स्ट्रिंग को संशोधित करते समय सेगमेंटेशन गलती होती है? XHR अनुरोध की प्रतिक्रिया के रूप में रिडायरेक्ट रिटर्निंग JSF में statelessness की उपयोगिता क्या है? जेपीए हैशोड () / बराबर () दुविधा एक डेटाफ्रेम में स्ट्रिंग्स, लेकिन dtype ऑब्जेक्ट है जब एक वर्ग को <> सूची से विरासत में मिली है, तो XmlSerializer अन्य विशेषताओं को क्रमबद्ध नहीं करता है Chrome डेवलपर टूल में सभी लोड किए गए स्क्रिप्ट कैसे खोजें? 'के' लूप में I = I + 1 और I + = 1 के बीच अंतर क्या है? इंपैक्टिक प्रतीक्षा वि में अंतर क्या है। सेलेनियम वेबड्रिवर में स्पष्ट इंतजार? Excel 2010 x64 के साथ काम करने के लिए ScriptControl हो रही है

डिस्पैचर। वर्तमान डिस्पैचर बनाम एप्लिकेशन। वर्तमान। डिस्पैचर

Dispatcher.CurrentDispatcher ( System.Windows.Threading . System.Windows.Threading ) और Application.Current.Dispatcher बीच अंतर क्या हैं। System.Windows.Threading ( System.Windows )?

मेरा आंत मुझे बताता है कि Application.Current.Dispatcher । वर्तमान। Dispatcher.CurrentDispatcher कभी भी नहीं बदलेगा और वर्तमान आवेदन में सभी थ्रेड्स के लिए वैश्विक होगा, जबकि Dispatcher.CurrentDispatcher । वर्तमान Dispatcher.CurrentDispatcher उस धागे के आधार पर Dispatcher का नया उदाहरण बना सकता है जिससे इसे बुलाया गया था।

क्या वो सही है?

यदि ऐसा है, तो Dispatcher.CurrentDispatcher का उद्देश्य है। मुख्यतः बहु-थ्रेडेड UI के लिए मुख्य Dispatcher.CurrentDispatcher ?

Solutions Collecting From Web of "डिस्पैचर। वर्तमान डिस्पैचर बनाम एप्लिकेशन। वर्तमान। डिस्पैचर"

मेरा आंत मुझे बताता है कि आवेदन। वर्तमान। डिस्पैचर कभी भी नहीं बदलेगा और वर्तमान आवेदन में सभी थ्रेड्स के लिए वैश्विक होगा, जबकि डिस्पैचर। वर्तमान डिस्पैचर उस धागे के आधार पर डिस्पैचर का नया उदाहरण बना सकता है जिससे इसे बुलाया गया था।

वह सही है।

इसके अतिरिक्त, Dispatcher.CurrentDispatcher तक पहुंचने में कोई बात नहीं है। गैर-यूआई थ्रेड से वर्तमान डिस्पार्चर। यह तब तक कुछ भी नहीं करेगा जब तक आप Dispatcher.Run नहीं कॉल करते हैं। Dispatcher.Run , और एक असीम संदेश लूप में जा रहा है कि आप वर्क थ्रेड के अंदर से क्या करना चाहते हैं।

इसलिए:

  • सबसे सामान्य परिदृश्य में , जहां आपके ऐप में केवल एक यूआई धागा होता है, Application.Current.Dispatcher Dispatcher.CurrentDispatcher और Dispatcher.CurrentDispatcher । यूआरआइ थ्रेड के भीतर से वर्तमान डिस्पाचचर उसी उदाहरण को वापस करेगा। जो आप उपयोग करते हैं वह वरीयता की बात है

  • यदि आपके ऐप में एक से अधिक यूआई थ्रेड है तो प्रत्येक DispatcherObject स्थायी रूप से यूआई धागे के DispatcherObject से जुड़ा हो जाएगा जो इसे निर्माण पर बनाया गया था। इस मामले में, Application.Current.Dispatcher आपके आवेदन के साथ पैदा हुए धागा के डिस्पैबर को संदर्भित करेगा; आप अपने अन्य यूआई थ्रेड्स के स्वामित्व वाले नियंत्रण में संदेश पोस्ट करने के लिए इसका उपयोग करने में सक्षम नहीं होंगे।

अगर सरल शब्द में कहा जाए तो…

Dispatcher.CurrentDispatcher वर्तमान धागा के लिए प्रेषक हो जाता है। इसलिए, अगर आप एक पृष्ठभूमि प्रक्रिया से UI थ्रेड के डिस्पैचर की तलाश कर रहे हैं, तो इसका उपयोग न करें।

Application.Current.Dispatcher डिस्पैचर हमेशा आपको यूआई धागे के डिस्पैचर देगा, क्योंकि ये एक धागा है जो एकमात्र आवेदन उदाहरण को छूता है।

मेरा आंत मुझे बताता है कि आवेदन। वर्तमान। डिस्पैचर कभी भी नहीं बदलेगा और वर्तमान आवेदन में सभी थ्रेड्स के लिए वैश्विक होगा, जबकि डिस्पैचर। वर्तमान डिस्पैचर उस धागे के आधार पर डिस्पैचर का नया उदाहरण बना सकता है जिससे इसे बुलाया गया था।

यह सही है, अनुप्रयोग। वर्तमान। डिस्पाचर एक मौजूदा आवृत्ति के प्रेषक होने के लिए निर्माण पर सौंपा गया है जो आवेदन की एक आवृत्ति संपत्ति है। और Dispatcher.CurrentDispatcher के दस्तावेज के रूप में। वर्तमान Dispatcher.CurrentDispatcher बताते हैं:

धागे के वर्तमान में चलने वाले डिस्पैचर को प्राप्त करता है और यदि कोई पहले से थ्रेड से जुड़ा नहीं है तो एक नया डिस्पैचर बनाता है।


यदि ऐसा है, तो डिस्पैचर का उद्देश्य है। मुख्यतः बहु-थ्रेडेड UI के लिए मुख्य डिस्पैचर?

संभवतः, मुझे किसी पृष्ठभूमि थ्रेड के प्रेषक को प्राप्त करने में कोई फायदा नहीं हुआ है क्योंकि आपके पास आमतौर पर उनके पास कोई UI-elments नहीं है जिसके लिए आप ऑपरेशन भेजना चाहते हैं।