Как правильно реализовать метод TAP?

Я хочу предоставить метод стиля асинхронного шаблона -, основанный на задаче -. В ожидании метода я не смог найти никакой разницы между этими двумя способами предоставления метода:

// GetStats is a delegate for a void method in this example
public Task GetStatsAsync()
{
    return Task.Run(GetStats);
}

public async Task GetStatsAsync()
{
    return await Task.Run(GetStats);
}

// Usage:
await GetStatsAsync();
// Difference?

Верхний метод, кажется, имеет меньше накладных расходов, чем нижний. Просматривая блоги MSDN, я заметил, что они, похоже, используют нижний метод. (Например, в этой статье)

Почему? В чем именно разница? Они оба, кажется, работают.

12
задан nikeee 16 June 2017 в 21:54
поделиться