Editors Choice

3/recent/post-list

How NodeJS work? Event Loop & Threads

Understanding Clients, Servers and NodeJS

What are Clients and Servers?

Client: A device or program that requests resources (like web pages, data, or files) from a server. Examples include web browsers, mobile apps, or your computer when it accesses a website.

Server: A powerful computer or program that receives requests from clients, processes them, and sends back responses. Servers host websites, store data, and provide services.

How NodeJS Handles Requests

1. Request Arrival

When a request comes to a NodeJS server, it goes into the Event Queue (a waiting line for requests).

2. Event Loop Processing

The Event Loop (NodeJS's manager) takes requests one by one in order (FIFO - First In, First Out) and checks if each request is:

  • Synchronous (Blocking): Needs immediate, full attention
  • Asynchronous (Non-Blocking): Can wait while other work happens

3. Handling Different Request Types

Asynchronous Requests:

  • NodeJS does these in the background
  • Other requests can be processed while waiting
  • Example: Reading a file from disk

Synchronous Requests:

  • NodeJS focuses completely on this one task
  • All other requests must wait until it finishes
  • Example: Complex calculations

Important Notes for Beginners

  • NodeJS is designed to handle asynchronous work efficiently
  • Synchronous operations can slow down your entire application
  • Most web server tasks should be asynchronous
  • For heavy tasks that can't be asynchronous, NodeJS offers Worker Threads

const fs = require('fs');

console.log('1');
console.log('2');
fs.readFile("./log.txt", "utf-8", (err, result)=>{
	if(err){
		console.log(err);
	}
	else{
		console.log(result);
	}
});

console.log('3');
console.log('4');

Blocking Code


const fs = require('fs');

console.log('1');
console.log('2');
let result = fs.readFileSync("./log.txt", "utf-8");
console.log(result);
console.log('3');
console.log('4');

Post a Comment

0 Comments