Почему «синхронный» в программировании — это не «одновременный»
Помню когда первый раз столкнулся с понятиями «синхронный» и «асинхронный» запрос у меня возникла путаница из-за разных смыслов слова «синхронный» в программировании и в обычной речи.
Вот небольшое пояснения для тех кто тоже с этим сталкивается.
➡️ В обычной речи
«Синхронно» = одновременно, в одно время. Например, «синхронное плавание» — это когда все делают одно и то же движение одновременно.
➡️ В программировании
«Синхронно» = в определённой последовательности, шаг за шагом, с ожиданием результата. То есть выполнение идёт в строгом порядке, «в синхроне» с логикой программы. Каждый следующий шаг «синхронизирован» с завершением предыдущего.
«Асинхронно» = программа не ждёт. Она запускает запрос и сразу идёт дальше, а когда ответ придёт, специальный механизм (колбэк, промис, событие и т.д.) обработает результат.
➡️ Поэтому:
Синхронный запрос — это запрос, при котором программа ждёт ответа, прежде чем продолжить работу.
Асинхронный запрос — это запрос, при котором программа не ждёт ответа и может выполнять другие задачи, пока ответ не придёт.
То есть в программировании термин пришёл от синхронизации процессов, а не от «одновременности».
Надеюсь помог разобраться с этими терминами.