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; });
}
}
}