@beduin01

Что выполняет процессинг данных в асинхронной модели?

Разберем ее подробнее: у нас происходит асинхронное чтение из файла, при вызове функции чтения управление сразу же передается дальше, Node.js обрабатывает другие запросы. Как только файл будет считан — вызывается анонимная функция, переданная в readFile вторым параметром. А точнее событие, связанное с ней, ложится в очередь и когда очередь доходит до нее — выполняется. Таким образом, мы не нарушаем последовательность действий: сперва считывается файл, потом обрабатывается. Но при этом мы не занимаем процессорное время ожиданием, а позволяем обрабатывать другие события в очереди.


Вопрос в том, что будет выполнять операцию считывания если процессор занят выполнением уже следующих команд и переключаться между ними в однопоточном режиме он не может. Устройство что ли само будет без контроля процессора данные считывать?
  • Вопрос задан
  • 225 просмотров
Пригласить эксперта
Ответы на вопрос 2
MAKAPOH
@MAKAPOH
многостаночник
Согласно документации для выполнения асинхронных операций связаных с файловой системой нода запускает несколько паралельных потоков.
Ответ написан
AirWorker
@AirWorker
Node.js full stack web dev
Самое главное что нужно знать - это то, что происходит вызов интерфейса операционной системы, Нода сама файл не читает. Дальше - дело операционной системы. Как только будет получен ответ по этому вызову - возникнет соответствующее событие и будет вызван callback.
Ответ написан
Ваш ответ на вопрос

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

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