๐ก๐ผ๐ฑ๐ฒ.๐ท๐ ๐ช๐ผ๐ฟ๐ธ๐ฒ๐ฟ ๐ง๐ต๐ฟ๐ฒ๐ฎ๐ฑ๐ ๐๐ ๐ฝ๐น๐ฎ๐ถ๐ป๐ฒ๐ฑ
Node.js runs JavaScript on one thread. Heavy tasks block this thread. Your server freezes for every user.
Worker threads solve this. A worker creates a new V8 isolate.
Each worker has:
- Its own memory heap.
- Its own event loop.
- Its own call stack.
Workers talk via message passing. This keeps data safe. Large objects slow this process. Node.js makes a copy of the data.
Use SharedArrayBuffer for more speed. Threads share the same raw memory. Use the Atomics API. It prevents data corruption.
Do not create workers for every request. This wastes RAM. Your server will crash.
Use a pool like Piscina. It creates a set number of workers. It matches your CPU cores. It keeps your RAM stable.
Keep your event loop clean. Move heavy CPU work to worker pools. Your backend stays fast.
Source: https://dev.to/aabiskar/deep-dive-nodejs-worker-threads-under-the-hood-16ge