एक छोटी सी सवाल हो सकता है, लेकिन यह मुझे बुनियादी समझ में मदद कर सकता है।Task.Factory.StartNew बनाम Async तरीकों
वहाँ दो निम्नलिखित कार्यान्वयन के बीच कोई महत्वपूर्ण अंतर है?
Task.Factory.StartNew
:public Task<string> ReadAllTextAsync(string path) { return Task.Factory.StartNew(() => File.ReadAllText(path)); }
Async पद्धति पर
StreamReader
:public async Task<string> ReadAllTextAsync(string path) { using (var stream = File.OpenRead(path)) using (var reader = new StreamReader(stream)) { return await reader.ReadToEndAsync(); } }
@dtb, हम वास्तव में एक ThreadPool बारे में बात नहीं कर सकते हैं जब कार्य के साथ काम कर। पहला उदाहरण थ्रेड को अवरुद्ध कर रहा है जिसमें कार्य निष्पादित होता है, जबकि दूसरे उदाहरण में यह नहीं होता है। मैंने इस जानकारी को शामिल करने के लिए अपना जवाब अपडेट कर दिया है। –
+1। अच्छा जवाब – dtb
धन्यवाद, यह स्पष्ट करता है (विशेष रूप से दूसरा बिंदु, मुझे संदेह था कि आईओ में कुछ अक्षमता है)। –