Back to questions
Middle+
4
Расскажите про Event Loop.
Companies where asked
Ifellow
Answer from AI
sobes.tech AI
Event Loop — это механизм, который позволяет Node.js выполнять неблокирующие операции, несмотря на однопоточный характер среды. Он постоянно проверяет очередь событий и вызывает соответствующие колбэки, когда операции завершаются.
Принцип работы:
- Node.js запускает Event Loop.
- Асинхронные операции (например, чтение файла, запросы в сеть) отправляются в системные вызовы или внутренние очереди.
- Когда операция завершается, соответствующий колбэк помещается в очередь событий.
- Event Loop последовательно обрабатывает эти колбэки, вызывая их в основном потоке.
Это позволяет эффективно использовать ресурсы и не блокировать выполнение программы.
Пример:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 1000);
console.log('End');
Вывод будет:
Start
End
Timeout callback
Потому что setTimeout регистрирует колбэк, который выполнится позже, а Event Loop продолжает выполнение текущего кода.