Home >Web Front-end >JS Tutorial >A brief discussion on the general process of Node event loop

A brief discussion on the general process of Node event loop

青灯夜游
青灯夜游forward
2021-10-28 09:54:012370browse

This article will give you a brief understanding of the event loop in Node.js, and let’s take a look at the approximate sequence of the Node.js event loop. I hope it will be helpful to everyone!

A brief discussion on the general process of Node event loop

We all know that most of the applications we use currently are event-driven. In the process of our interaction with the application, many events will be generated, such as Click, double-click, triple-click, etc., and many events will occur when file reading is completed or certain tasks are executed.

We all know that Node.js is single-process and single-threaded, but it can achieve high concurrency, which is inseparable from our event mechanism. Specifically, it is implemented through the event loop, and high concurrency can be achieved through asynchronous callback interfaces and event drivers. [Recommended learning: "nodejs Tutorial"]

Event Loop

When Node.js is running in a single thread, it is equivalent to entering a " "Dead" loop, the callback function on each asynchronous event is equivalent to checking your girlfriend on your mobile phone. If your girlfriend finds that "bad" things (events) happen, she will quarrel with you (call the callback function - quarrel function) , until you no longer see these things (events) that make you quarrel, I will stop looking at your phone (exit the endless loop).

The event loop usually hands over the corresponding operations to the operating system for processing. We all know that the current operating systems are basically multi-threaded. In other words, we know that this girlfriend named Node.js usually doesn't just look at our mobile phones. She also hires a professional monitoring team to monitor your mobile phones. In this way, multiple people in the monitoring team can check your mobile phone information (processed in the background of the operating system). When part of the information is processed, your girlfriend will be notified immediately (when an operation is completed, Node.js will be notified immediately), and then your girlfriend will be informed according to the The nature of the information will send the things to be done into the work queue (Node.js will add the relevant callback function to the polling queue), and then execute them one by one.

Here is a simplified diagram of the event loop of Node.js:

A brief discussion on the general process of Node event loop

In the above figure, each stage will have a FIFO executable callback function Queue, usually when the event loop enters one of the stages, the operation of that stage will be executed, and then the callbacks in the queue of that stage will be executed until the end of the queue or the limit of the number of callbacks is reached, and then the event loop will Go to the next stage and cycle back and forth.

According to this picture, we can know that the order of the event loop is roughly:

Receive data (incoming data)->Poll->Check-> ;Close callback (close callback)->Timers (timers)->Pending callbacks (pending callbacks)->Idle (idle, prepare)->Poll (poll)

More programming For related knowledge, please visit: Programming Course! !

The above is the detailed content of A brief discussion on the general process of Node event loop. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:juejin.cn. If there is any infringement, please contact admin@php.cn delete