Преимущества использования асинхронных и ожидающих ключевых слов
Я новичок в использовании асинхронных методов в C #. Я прочитал, что эти ключевые словаasync
а такжеawait
помочь сделать программу более отзывчивой за счет асинхронизации некоторых методов. У меня есть этот фрагмент:
Первый путь
public static void Main()
{
Console.WriteLine("Hello!! welcome to task application");
Console.ReadKey();
Task<string> ourtask = Task.Factory.StartNew<string>(() =>
{
return "Good Job";
});
ourtask.Wait();
Console.WriteLine(ourtask.Result);
Console.ReadKey();
}
Второй путь
public static void Main()
{
Launch();
}
public static async void Launch()
{
Console.WriteLine("Hello!! welcome to task application");
Console.ReadKey();
Console.WriteLine(await GetMessage());
Console.ReadKey();
}
public static Task<string> GetMessage()
{
return Task.Factory.StartNew<string>(() =>
{
return "Good Job";
});
}
Мне нужно знать :
Есть ли разница между двумя реализациями (в концепции параллелизма)?
Каковы преимущества использованияasync
а такжеawait
ключевые слова, если я могу просто создать задачу и ждать ее завершения?