TGViewer
Папочка Разработки Папочка Разработки @dotnetdad · 3.03K subscribers
Post #395 1.12K
За что отвечает ключевое слово async?

У каждого спрашивали на собеседовании про модификатор async, большинство слышали про стейт-машину и на вопрос «а зачем же оно всё надо» ответят примерно следующим образом:

Ну… Это значит, что метод развернётся в стейт-машину, там свитч ещё будет, ну и метод вообще асинхронный, а это значит, ждать не будем.


Чего? Я понимаю, что у нас всё всегда упаковывается в паттерны, а для всего уже придумали модные термины, но тут всё намного проще.

Запоминайте раз и навсегда, чтобы не умные термины учить, а понять 🌟.

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

В асинхронный метод потоку НАДО УМЕТЬ зайти, прервать (уметь — не значит прервать, это уже от await зависит) выполнение в какой-то момент, выйти, а потом вернуться в то же место.

Зачем?

Например: мы в середине метода хотим сделать запрос к БД, который вернёт нам кучу строк и будет выполняться пару секунд.

Конечно, можно повисеть в середине метода и подождать, пока БД вернёт ответ, но это потоку надо прям висеть и ждать, а он не на помойке себя нашёл и может потратить это время более продуктивно.

А эта БД пусть сама скажет, когда закончит. Тогда какой-нибудь поток и отправим продолжать выполнение метода.

За счёт этого во время асинхронной операции ввода-вывода (это как раз наш запрос к БД) не занят ни один поток приложения.


Всё. Вот для этого механизма и нужны стейт-машины, свитчи и мув некcты, которые под капотом это всё делают. Если нет понимания идеи, то знания про стейт машину бесполезны
  • ❤ 22
  • 👍 7
More from @dotnetdad
  1. Sep 14, 2026Post #394
  2. Sep 4, 2026Специальность + популяризация + высокий доход = темка 🌟 Разработка из серьёзной специализ…
  3. Aug 24, 2026Старшая дочка очень любит смотреть мультики, но этот грёбаный пульт всегда её подставляет…
  4. Aug 20, 2026Post #391
  5. Aug 3, 2026Разработчик, который не перестроится под нейронки, никуда не денется. Он станет таксистом…
  6. Jul 17, 2026Если без тебя на проекте всё встанет — это не достижение. Это самая большая ловушка, в кот…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →