Может ли вызов await
в той же строке, что и асинхронный метод, быть медленнее, чем вызов обычного метода?
Из того, что я знаю, асинхронные методы хороши для операций ввода-вывода, таких как получение данных из базы данных.Но что, если между вызовом асинхронного метода и его ожиданием ничего не поделать, мне нужно сделать это в одной строке.
В этом посте Ожидать и Async в одной строке они обсуждаличто преимущество заключается в освобождении потока.
У меня есть несколько модульных тестов для тестирования моих служб и методов с использованием асинхронных методов, как я описал, всегда занимающих больше времени, чем их не асинхронные эквиваленты.Я предполагаю, что это потому, что создание работы в отдельном потоке, а затем ее ожидание имеет определенную цену.
Итак, я хочу спросить, если использование async в этом случае действительно имеет некоторые преимущества.
public async Task AssignHighestRank(User user)
{
user.Rank = await _rankRepository.GetHighestRank();
_userRepository.Update(user);
await _userRepository.SaveChanges();
}