Skip to content

eximiaco/node-worker-threads

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paralelo - Blog EximiaCO

Demonstração de worker_threads no Node.js, comparando uma API Express que calcula Fibonacci na thread principal com outra que delega o cálculo a um worker.

Pré-requisitos

  • Node.js 18 ou superior
  • npm

Instalação

npm install

Executando

O projeto expõe duas versões do mesmo servidor. Rode cada uma em um terminal separado.

Versão sequencial (porta 300)

O cálculo de Fibonacci roda na thread principal e bloqueia o event loop enquanto executa.

npm run start:sequencial

Acesse: http://localhost:300

Versão paralela (porta 3000)

O cálculo é feito em um worker via worker_threads, liberando a thread principal para outras requisições.

npm run start:paralelo

Acesse: http://localhost:3000

Certifique-se de que as portas 300 e 3000 estejam livres antes de subir os servidores.

Endpoints

Método Rota Descrição
GET /status Health check ({ "status": "ok" })
GET /fibonacci/:n Retorna o n-ésimo número de Fibonacci

Exemplos

curl http://localhost:3000/status
curl http://localhost:3000/fibonacci/10

Resposta de /fibonacci/10:

{ "n": 10, "fibonacci": 55 }

Para comparar o comportamento sob carga, dispare um cálculo pesado (por exemplo n=45) e, em seguida, chame /status na versão sequencial e na paralela.

Estrutura do projeto

src/
├── sequencial.ts         # API sem worker (porta 300)
├── paralelo.ts           # API com worker_threads (porta 3000)
└── fibonacci.worker.ts   # Worker que executa o cálculo

Scripts disponíveis

Script Comando
npm run start:sequencial Sobe a versão na porta 300
npm run start:paralelo Sobe a versão na porta 3000

About

Como usar worker-threads no Node

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors