Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Node.js single thread

Com esses conteúdos extras eu acabei chegando em um conceito chamado: single thread, no qual eu entendi o seu funcionamento! entretanto, eu fiquei meio confuso com a definição de threads, pois eu pensava que threads apenas faziam sentido sendo executadas em paralelo, como por exemplo os processamentos que o kernel possui, todos são executados em paralelo e essa é justamente a função da thread, pois a CPU consegue executar apenas um processo inteiro. Por esse motivo que a thread existe (No meu pensamento). Mas agora eu fiquei em dúvida por causa dessa single thread, que tudo é executado em apenas uma única thread e não ocorre paralelismo nenhum, né? então qual seria o sentido da thread nesse quesito? não é obrigatório ter ao menos duas threads para a própria thread fazer sentido? não seria meio que "redundante" utilizar apenas uma thread? Grato!

1 resposta
solução!

Olá, Rian!

Entendo sua confusão, é um conceito um pouco complexo mesmo. A ideia de single-thread no Node.js não invalida o conceito de threads que você já conhece. Na verdade, é uma forma de simplificar o processo de programação.

O Node.js é single-thread no sentido de que o seu código JavaScript é executado em uma única thread, chamada de thread principal. Isso significa que, em um dado momento, seu código está sendo executado em apenas um lugar. Isso é útil porque evita muitos problemas comuns em programação multithread, como condições de corrida, onde duas threads tentam modificar a mesma variável ao mesmo tempo.

No entanto, o Node.js não é completamente single-thread. Ele usa um modelo chamado "event loop", onde a thread principal delega tarefas pesadas (como operações de I/O) para outras threads em segundo plano. Quando essas tarefas são concluídas, elas enviam um evento para a thread principal, que então executa o código correspondente. Isso permite que o Node.js lide com muitas tarefas simultaneamente, apesar de ser "single-thread".

Portanto, a ideia de single-thread no Node.js é mais sobre simplificar a programação do que sobre a eficiência do processamento. O Node.js ainda usa várias threads em segundo plano para realizar tarefas pesadas, mas o seu código JavaScript é executado em uma única thread, tornando a programação mais simples e direta.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software