Почему «синхронный» значит «идущий один за другим» в контексте программирования ? — Q&A Хекслет
2026-02-26 23:02 Diff

Путаница с именованием действительно есть, так как понятия синхронный и асинхронный в программировании означают не совсем то же, что в обычной жизни. Синхронный в программировании — это значит, что код выполняется синхронно с основным потоком программы. Например:

В примере выше функция syncFunc — это синхронная, то есть обычная функция. Функция main() представляет собой основную функцию программы, в ней вызывается функция syncFunc(). Благодаря тому, что функция syncFunc синхронная, то работа функции main будет длиться не меньше, чем работа функции syncFunc. Если функция syncFunc будет выполняться 3 секунды, то и main будет выполняться не меньше 3 секунд, что логично, ведь внутри main код ждет, пока выполнится syncFunc. Если выполнение syncFunc увеличится, например, на 2 секунды, то и работа main увеличится на 2 секунды. То есть время работы функций syncFunc и main синхронно.

Теперь пример с асинхронной функцией:

Теперь main вызывает асинхронную функцию asyncFunc и не дожидается выполнения этой функции, сразу печатается "End!". То есть время работы asyncFunc никак не влияет на время работы main. Если asyncFunc увеличится на 3 секунды, то время выполнения main не увеличится на 3 секунды.