Skip to content

Instantly share code, notes, and snippets.

@enieber
Last active October 22, 2015 02:32
Show Gist options
  • Save enieber/19c34d2fa50a1190d7ab to your computer and use it in GitHub Desktop.
Save enieber/19c34d2fa50a1190d7ab to your computer and use it in GitHub Desktop.

Thread e Nodejs

Tread

Como funciona

poque ocupa muito espaço

como é feito o gerenciamento

nodejs

Em uma dicução com Raphael, chegamos ao seguinte impasse, como funciona a single tread no [nodejs. Eu como amante de node e ele como programador Java, discutimos como o node funciona em comparação ao Java no Android.

No Android um app roda em uma tread onde cada processo precisa ser feito em paralelo com outro app, a tread do primeiro app sera pausada e é aberta uma nova tread para um novo processo no segundo app. Entende-se que essa nova tread no segundo app pode funcionar como o gmail que enquanto é enviado um email o aplicativo continua rodando na primeira tread.

Qualquer app Java funciona atravez de threads, ou seja, ele não cada tread é um processo, que pode rodar junto com outro processo em paralelo ao mesmo.

divido em threads para se torna mais rapido o processamento, ou fazer trabalhar com programação assincrona, mas isso causa um problema nos dias de hoje, quanto mais threads mais memoria sera consumida pois cada thread requisita uma quantidade de memoria que ela pode chegar a utilizar. Mesmo que a tread não chegue a usar toda a memoria requisitada, ela bloqueara o espaço requisitado na memoria, tornando assim uma aplicação com muitas treads, algo bem complicado de gerenciar, pois ocupa muito espaço. O node é single thread, ou seja, trabalha na maioria das vezes uma thread, o que faz com que ele suporte milhoes de acesso ao mesmo tempo sem precisar do mesmo tanto de memoria e é o fato de ele ser assincrono, Orientado a eventos, onde cada requisição ao servidor sera um evento que retornara um callback. Outra questão que é te suma importancia citar é que nodejs usa I/O não bloqueante, então nenhuma requisição ou callback sera bloqueado.

Referências

Node.js

Thread

Thread no CPU

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment