Ответ
Асинхронность — это подход, при котором операции выполняются неблокирующе, освобождая основной поток для других задач. В JavaScript это реализуется через колбэки, промисы и async/await. Многопоточность — параллельное выполнение кода в нескольких потоках (например, Web Workers в браузере).
Пример асинхронности:
async function fetchData() {
const response = await fetch('api/data');
const data = await response.json();
console.log(data);
}
Ключевые отличия:
- Асинхронность работает в одном потоке, многопоточность — в нескольких
- В JS асинхронность реализована через event loop, а многопоточность — через Web Workers
- Асинхронность не требует синхронизации, в отличие от многопоточности