В каком случае второй async-метод выполнится в отдельной Task?

Отдельный Task и отдельный поток — разные вещи. Async-метод может вернуть задачу без запуска нового потока; Task.Run явно планирует делегат в пуле, но не нужен для каждого async-вызова.

Короткий ответ

Что ответить на собеседовании

Отдельный Task и отдельный поток — разные вещи. Async-метод может вернуть задачу без запуска нового потока; Task.Run явно планирует делегат в пуле, но не нужен для каждого async-вызова.

Подробный разбор

Ответ с пояснениями

Отдельный Task и отдельный поток — разные вещи. Async-метод может вернуть задачу без запуска нового потока; Task.Run явно планирует делегат в пуле, но не нужен для каждого async-вызова.

Если сначала вызвать два метода, сохранить их Task, а затем ждать WhenAll, их асинхронные операции могут выполняться конкурентно. При последовательных await второй вызов начинается только после завершения первого.

Async-метод начинает синхронную часть в вызывающем потоке до приостановки. Конкретного «второго метода» в условии нет, поэтому нельзя определить его поведение без кода и API; особенно важно отличать I/O от CPU-bound работы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее