โดยปกติ Node.js โดยใช้ event-loop ทำงานด้วย thread เพียง thread เดียว ปัญหาคือถ้ามี task ที่เป็น sync ทำงานนานๆ มันจะไป block event-loop (เพราะค้างอยู่ใน call stack) ทำให้โปรแกรมทำงานต่อไม่ได้แม้ตัวมันเองจะบอกว่าทำงานแบบ async ก็ตาม
เพื่อแก้ปัญหาดังกล่าวเลยเกิด Web Workers ขึ้น โดยสามารถแตก thread ไปประมวลผลโดย thread หลักไม่โดน block นอกจากแก้ปัญหาที่ว่านี้แล้วในงานที่ต้องการประมวลผลหนักๆ ก็สามารถแตก thread สร้างหลายๆ worker ช่วยกันทำงานได้ด้วย
module สำหรับ Node.js ดูได้จากลิงก์นี้ครับ https://www.npmjs.com/package/webworker-threads
Web Workers ใช้บน browser ได้ด้วยนะครับ (จริงๆ มันเริิ่มจาก browser ก่อนนั่นแหละ)
  1. http://www.html5rocks.com/en/tutorials/workers/basics
  2. https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers 
ที่มา:https://khasathan.in.th/archives/991