Async await, использование - C#
Формулировка задачи:
Знатоки, есть ли разница между написанием?
Я где-то читал, что второй способ хуже, ибо создается IO поток и CPU, а в первом только IO
Первый вариант
Второй вариант
private async void button1_Click(object sender, EventArgs e) { var soo1 = await Task.Factory.StartNew(One); MessageBox.Show(soo1.ToString()); } private bool One() { Thread.Sleep(3000); return false; } }
private async void button1_Click(object sender, EventArgs e) { var soo1 = await Two(); MessageBox.Show(soo2.ToString()); } private Task<bool> One() { return Task.Run(() => { Thread.Sleep(3000); return false; }); }
Решение задачи: «Async await, использование»
textual
Листинг программы
using System; using System.Threading.Tasks; namespace ConsoleApp7 { class Program { static void Main(string[] args) { var t1 = Method1(); var t2 = Method2(); Console.WriteLine(t1.Result); Console.WriteLine(t2.Result); Console.ReadKey(); } private static async Task<int> Method1() { return await Task.Run(() => { return 42; }); } private static async Task<int> Method2() { return await Task.Factory.StartNew(() => { return 42; }); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д