Задать вопрос
@heIIfire

Действия в событийном цикле выполняются поочередно или паралельно?

Допустим у нас 2 пользователя - Саша и Петя.

Саша заходит на сайт, и совершает действие , которое требует 10 секунд времени. То есть в event loop попадает каллбэк, который требует для выполнения 10 секунд

В это время Петя тоже совершает то же дейсвие. Но в event loop-е в этот выполняется же действие Саши.

Обясните пожалуйста что я не так понял. Заранее благодарен
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
@Azperin
Дилетант
Параллельно чему ? Если Саша совершает действие, которое блокирует приложение на 10 секунд, то там не только Петя, но и все остальные будут ждать. Любую другую ситуацию ты можешь симулировать с setTimeout. Event loop на то и луп, что там нет потоков как таковых, можно конечно воркеров напихать в ноду, но это уже другая история.
Ответ написан
@RidgeA
Тут нужно уточнить что это за операция.
Если это обращение по сети, чтение файла (кроме fs.readFileSync и других операций *Sync), где ответ придет через 10 секунд - то все ок, просто сработает callback когда придет ответ.
Если это что-то вроде
let start = Date.now()
for (Date.now() < start + 10 * 1000 ) {
}

то процесс не будет обрабатывать другие запросы (callback-и)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы