तो यहाँ परिदृश्य है:जब मैं "async" विधि का "इंतजार" करता हूं तो यह तुल्यकालिक हो जाता है?
static async void Main(string[] args)
{
await AnAsyncMethod();
}
private static async task<bool> AnAsyncMethod()
{
var x = await someAsyncMethod();
var y = await someOtherAsyncMethod();
return x == y;
}
है "someAsyncMethod" और "someOtherAsyncMethod" तुल्यकालिक चल रहा है क्योंकि हम इंतजार का उपयोग कर रहे हैं, या वे दोनों आदेश है कि वे निष्पादित किया जा रहा में अतुल्यकालिक रूप से चल रहे हैं?
अद्यतन
यह देखते हुए कि बहुप्रतीक्षित async तरीकों क्रमिक रूप से चलेंगे बताते हुए नीचे इस सवाल का जवाब, क्या उन विधि बनाने का उद्देश्य होगा पहली जगह में अतुल्यकालिक कॉल करता है, तो हम सिर्फ निष्पादन को रोकने के लिए जा रहे हैं और उन विधि के वापसी मूल्यों की प्रतीक्षा करें? मैंने यूआई थ्रेड को मुक्त करने के साधन के रूप में पिछले उपयोग में मूल एप्स का इंतजार किया है/async, लेकिन क्या यह कोई अन्य कारण है कि यह डिज़ाइन वांछनीय क्यों होगा?
छोटे sidenote 'Main' उपयोग नहीं कर सकते' await' के रूप में अपनी ही '@Jamiec टिप्पणी की चोटी पर – Jamiec
async', यदि आप किसी अन्य अन्य वर्ग बना सकते हैं और वहाँ में कि async विधि डाल के रूप में चिह्नित नहीं, तो आप कॉल कर सकते हैं । अपने मुख्य विधि, 'नई SomeClass() AnAsyncMethod.Wait() में,' और यह होगा एसिंक्रोनस रूप –
मेरे समझ के साथ कि someAsyncMethod पूरी तरह से पहले someOtherAsyncMethod शुरू होगा खत्म होता है। – Biscuits