Web Workers: Multi-Threading
15 min read
Web WorkerSharedWorkerTransferable ObjectspostMessageOffscreen Canvas
Web Workers: Heavy Computation Off the Main Thread
Web Workers run JavaScript in a background thread, preventing heavy computations from blocking the UI.
Types
- Dedicated Worker: One worker per script. Most common.
- Shared Worker: Shared across multiple tabs/windows.
- Service Worker: Intercepts network requests (covered separately).
Limitations
- No DOM access
- Communication via postMessage (data is cloned, not shared)
- Transferable Objects can move data without copying (ArrayBuffer)
Use Cases
- Image/video processing
- Complex calculations (sorting, filtering large datasets)
- Data parsing (CSV, JSON)
- Encryption/hashing