का इंतजार करने के बाद कोई कोड नहीं है, तो मैंने कुछ पढ़ा है, और लगता है कि मैंने सिस्टम के संबंध में प्रतीक्षा और एसिंक कीवर्ड की मूल बातें समझ ली हैं। थ्रेडिंग। कार्य।कार्यों की प्रतीक्षा: वापसी कार्य या प्रतीक्षा करें यदि
मुझे यकीन नहीं है कि मैं एक छोटे से मुद्दे पर सही हूं, हालांकि, मैं सत्यापन की तलाश कर रहा हूं या किसी के लिए मुझे सही करने के लिए देख रहा हूं।
मैं एक async विधि को लागू कर रहा हूँ, इस हस्ताक्षर के साथ:
public Task ProcessUploadedFile(FileInfo info, string contentType);
जाहिर है, अगर मैं विधि के अंदर कुछ भी इंतजार करना चाहते हैं, मैं हस्ताक्षर में async कीवर्ड जोड़ने के लिए, की जरूरत है
मेरा सवाल यह है: यदि मेरी विधि आखिरी चीज है तो एक और एसिंक विधि कॉल करें, या कोई कार्य वापस करें, क्या इसका इंतजार करने में कोई बात है?
ईजी।
1:
public async Task ProcessUploadedFile(FileInfo info, string contentType)
{
foreach (var something in someCollection)
DoSomething();
DoSomethingElse();
await DoMethodAsync();
}
2:
public Task ProcessUploadedFile(FileInfo info, string contentType)
{
foreach (var something in someCollection)
DoSomething();
DoSomethingElse();
return DoMethodAsync();
}
मैं शुरू में पूर्व लिखा था, लेकिन अब इंतजार जोड़ने में बिंदु देख सकते हैं। अगर मैं बाद में लिखना चाहता था, तो मैं वही काम पूरा करता हूं, और दोनों तरीकों के कॉलर अभी भी प्रतीक्षा कीवर्ड का उपयोग कर सकते हैं यदि वे चुनते हैं, नहीं?
क्या उपरोक्त में कोई अंतर है? कौनसा अच्छा है"?
बढ़िया है, कि मैं क्या सोचा है। धन्यवाद! –
रुको। क्या मैं बस कुछ स्पष्टीकरण दे सकता हूं? मेरे कोड के आपके पुनर्लेखित संस्करण में, आपके पास कार्य में DoSomething() और DoSomethingElse() है। Factory.StartNew() ... क्या यह सही है? मैंने सोचा कि ये बिट्स कॉलर के समान थ्रेड पर सिंक्रनाइज़ेशन चलाएंगे? और यह DoMethodAsync() होगा। जारी रखें (टी => {} _); ? –
@dark_perfect क्षमा करें, एक भीड़ में था। और हाँ, आप पूरी तरह से सही हैं। अपडेट किया गया कोड –