Я пытаюсь понять async ждут в простейшей форме. Я хочу создать очень простой метод, который добавит два числа для этого примера, предоставил, это не время обработки вообще, это просто вопрос составления примера здесь.
Пример 1:
private async Task DoWork1Async()
{
int result = 1 + 2;
}
Пример 2:
private async Task DoWork2Async()
{
Task.Run( () =>
{
int result = 1 + 2;
});
}
Если я жду DoWork1Async()
, будет ли код выполняться синхронно или асинхронно?
Нужно ли обертывать код синхронизации с помощью Task.Run
, чтобы сделать метод ожидаемым и асинхронным, чтобы не блокировать поток пользовательского интерфейса?
Я пытаюсь выяснить, является ли мой метод Task
или возвращает Task<T>
, мне нужно обернуть код с помощью Task.Run
, чтобы сделать его асинхронным.
Глупый вопрос, я уверен, но я вижу примеры в сети, где люди ждут кода, который не имеет асинхронизации внутри и не заключен в Task.Run
или StartNew
.