एक WPF 4.5 आवेदन में, मुझे समझ नहीं आता क्यों यूआई अवरुद्ध है जब मैं इंतजार + एक काम के लिए इस्तेमाल किया:मेरे async कार्य हमेशा ब्लॉक यूआई
private async void Button_Click(object sender, RoutedEventArgs e)
{
// Task.Delay works great
//await Task.Delay(5000);
double value = await JobAsync(25.0);
MessageBox.Show("finished : " + value.ToString());
}
private async Task<double> JobAsync(double value)
{
for (int i = 0; i < 30000000; i++)
value += Math.Log(Math.Sqrt(Math.Pow(value, 0.75)));
return value;
}
का इंतजार Task.Delay अच्छा काम करता है, लेकिन जॉबएसिंक यूआई को अवरुद्ध करने का इंतजार है। क्यूं कर ? धन्यवाद।
बजाय विधि इसे और अधिक हो सकता है के अंदर कार्य शुरू करने 'प्रतीक्षा' के साथ लाइन पर 'टास्क.रुन' कॉल जोड़ने का अर्थ है, हालांकि अंतिम परिणाम (यदि फ़ंक्शन का पुन: उपयोग नहीं किया जाता है) समान है। – Servy
Im इसी तरह के परिदृश्य में, अभी भी यूआई थ्रेड को अवरुद्ध करता है। क्या कोई स्पष्ट गेटचास है? – IbrarMumtaz