आपका कोड सही दिखता है। यह आपके कॉलर को उन क्षणों पर कुछ उपयोगी करने का मौका देता है, जो आप इंतजार कर रहे हैं, हर किसी के इंतजार के बाद व्यस्त इंतजार करने के बजाय।
जारी रखने के बजाय async-await का उपयोग करने की अच्छी बात यह है कि आपका कोड काफी तुल्यकालिक दिखता है। यह देखना आसान है कि बयान किस आदेश पर निष्पादित किया जाएगा। जारी रखें भी आपको ऑर्डर निर्दिष्ट करने देता है, लेकिन यह देखना थोड़ा मुश्किल है।
यदि कोई थ्रेड एसिंक प्रक्रिया में प्रवेश करता है तो यह प्रक्रिया को निष्पादित करता है जब तक कि यह प्रतीक्षा न हो जाए। प्रतीक्षा की गई प्रक्रिया समाप्त होने तक प्रतीक्षा करने के बजाय, आपके कॉलर को नियंत्रण दिया जाता है जो अगले वक्तव्य जारी रख सकता है जब तक कि वह प्रतीक्षा नहीं कर लेता, जहां उसके कॉलर को नियंत्रण दिया जाता है। एक बार जब कोई इंतजार कर रहा है और आपका OpenAsync थ्रेड समाप्त हो गया है ओपनएसिंक के बाद बयान जारी रखता है जब तक कि यह एक और इंतजार नहीं करता।
स्टैक ओवरफ्लो में कोई भी व्यक्ति (हां उसका नाम खो गया) ने मुझे breakfast metaphor में एसिंक-प्रतीक्षा प्रक्रिया को एक बार समझाया।
एक बहुत ही उपयोगी परिचय, Stephen Cleary about Async-await। आइए आपको यह भी समझने दें कि async-await InvokeRequired
स्रोत
2016-05-02 09:36:43
के साथ समस्याओं को रोकता है क्या मेरी समझ सही है? यदि हमारे पास दो इंतजार के बाद कोड का इंतजार है, तो दूसरे इंतजार के लिए केवल दूसरी प्रतीक्षा के लिए निरंतरता होगी, अगर यह मामला नहीं था तो दूसरे इंतजार के बाद कोड दो बार चला होगा (पहला, पहले की निरंतरता के रूप में प्रतीक्षा करने योग्य और दूसरा दूसरा इंतजार करने के लिए एक निरंतरता के रूप में। – YakRangi
@Rouftantical: हाँ, जैसा कि मैंने कहा था "यह कहां से निकलता है"। –