Синхронный код выполняет задачи последовательно, ожидая завершения каждой перед переходом к следующей.
Асинхронный код позволяет выполнять задачи в фоновом режиме, не блокируя основной поток выполнения, и реагировать на их завершение, когда это произойдет.
Основные отличия:
| Характеристика | Синхронный код | Асинхронный код |
|---|---|---|
| Блокировка | Блокирует поток выполнения | Не блокирует поток выполнения |
| Выполнение | Последовательное | Параллельное (в контексте неблокирующего UI) |
| Ожидание | Ожидает завершения операции | Не ожидает завершения, продолжает выполнение |
| Применение | Простые операции, не требующие ожидания | Сетевые запросы, файловые операции, таймеры |
Пример синхронного кода (блокирующего):
javascript
Пример асинхронного кода (неблокирующего):
javascript