📖
Browser

Web Worker

Thread JavaScript separada do main thread. Para cálculos pesados sem travar a UI.

📚 O que é

JavaScript é single-threaded. Web Workers permitem código em threads separadas. Sem acesso ao DOM. Comunicação via postMessage/onmessage. Ideal para: parsing de JSON grande, criptografia, image processing, cálculos intensivos.

✅ Quando usar

Cálculos que demoram >16ms (trava 1 frame). Parsing de arquivos grandes. Criptografia. Algoritmos intensivos que precisam rodar no cliente.

🚫 Quando NÃO usar

Operações que precisam do DOM. Quando server-side é mais adequado. Para lógica simples.

👍 Prós
Sem travar UI
Thread dedicada
Parallelismo real no browser
Comlink simplifica comunicação
👎 Contras
Sem acesso ao DOM
Comunicação por cópia (overhead em dados grandes)
Setup mais verbose
SharedArrayBuffer tem restrições de CORS
🔗 Termos relacionados