अगर मैं एक सामान्य विधि है कि मैं बनाना चाहते है अतुल्यकालिक:एसिंक का उपयोग क्यों करें और कार्य <> के साथ प्रतीक्षा करें?
public int Foo(){}
मुझे क्या करना होगा:
public Task<int> FooAsync(){
return Task.Run(() => Foo());
}
मैं क्यों करना होगा:
public async Task<int> FooAsync(){
return await Task.Run(() => Foo());
}
तरह से मैं करने की योजना इसका उपयोग करें:
FooAsync().ContinueWith((res) => {});
मैं चाहता हूं कि बिना किसी रोक के चलने की विधि, लेकिन मुझे कॉलबैक की तरह कुछ चाहिए, इसलिए ContinueWith
। लेकिन दूसरे संस्करण के साथ, इसका उपयोग करने के लिए एक बिंदु है?
उत्कृष्ट विवरण! – paulsm4
धन्यवाद, @ paulsm4। मुझे यह कहना होगा कि मैंने हाल ही में जो कुछ सुना है, उसे मैं फिर से देख रहा हूं, मुझे लगता है कि यह http://hanselminutes.com/327/everything-net-programmers-now-about-asynchronous-programming-is-wrong से है, लेकिन 100% निश्चित नहीं है। मुझे अभी तक एसिंक फीचर के साथ ज्यादा अनुभव नहीं था, इसलिए मैं गलत हो सकता हूं और मुझे और जानने में खुशी होगी, शायद इस मामले में एसिंक कुछ लाभ प्रदान करता है। –
इसके अतिरिक्त, आप पढ़ना चाहेंगे [क्या मुझे सिंक्रोनस विधियों के लिए एसिंक्रोनस रैपर का खुलासा करना चाहिए?] (Http://blogs.msdn.com/b/pfxteam/archive/2012/03/24/10287244.aspx) (उत्तर यदि आपके पास सिंक्रोनस विधि है, तो लगभग हमेशा "नहीं;" है, फिर इसे एक सिंक्रोनस विधि हस्ताक्षर दें)। –