Threads on Node js 💥Everything you need to know!!
HTML-код
- Опубликовано: 12 сен 2024
- More threads have arrived on Node js!!! 🎉🎉🎉🎉🎉🎉 What do I mean with "more threads"? It's time to dig deep on Node's interns to understand the worker_threads!
This video is for EVERYONE who works with Node.js, we will go through the Node's architecture and design to understand how threads fit into it.
In this video we will talk about:
👉How Node's async flow works and what's the Event Loop
👉What' is the worker_threads and how it works?
👉What is the use cases
👉What's the difference between async I/O, cluster module and worker threads
👉How to share memory amongst threads using features from Ecmascript 2017
Code used in the video
github.com/wal...
github.com/wat...
References:
nodejs.org/api...
github.com/tc3...
developer.mozi...
developer.mozi...
www.sitepen.co...
github.com/nod...
developer.mozi...
developer.mozi...
/ ekqcrjn
Please don't forget to 👍 and comment 🗣
Cara, fico muito feliz quando descubro um novo canal no RUclips de programação que a pessoa se empenha pra trazer um conteúdo bom. Parabéns, Waldemar. E muito obrigado!
Eu não sou muito de comentar em vídeos, mas esse vídeo tá sensacional! Tive que vir comentar, deixei meu like e me inscrevi, vídeo muito bem feito, continue com o conteúdo, ajudou muito!
🤘
Vídeo excelente. Parabéns!!!
Material excelente!
Parabéns pela iniciativa e por compartilhar o conteúdo
Caraca MLK............. mandou bem d++!!! Vou usar e vou guardar ...
Waldemar, que qualidade de vídeo! Muito obrigado por compartilhar tanto conhecimento com a gente.
Fala Waldemar, tudo certo? Muito massa o video, a unica coisa que eu reparei nesse video que poderia ser melhor é a diferença de audio (volume) entre a parte que só tu aparece e a parte que tu ta codando.... fora isso o video ta muito bom mesmo, super informativo, com exemplos, os exemplos estão disponiveis, yada, yada, yada....
Abração!
conteúdo realmente útil, vim do C# e uso muito as threads, agora estou com projetos menores e estou usando nodejs e seu material me ajudou bastante, obrigado.
Parabéns! Ótimo conteúdo.
Muito interessante... Obrigado pelo vídeo!
Penso que um caso de uso relativamente interessante seja usar os worker threads para usar computações mais pesadas do módulo crypto (já que algumas operações são síncronas). :)
Muito bom esse video! Aprendi demais
O conteúdo do canal está sensacional! Por favor, continue com estes tipos de videos
Muito bom, estava procurando uma maneira de comparar o funcionamento do java e o javascript para lidar com Threads e esse video caiu como uma luva 😁
Caraca que video absurdo. Mt bom cara.
Cara te admiro demais, seus conteúdos são fenomenais, são coisas que não tem na net, e quando tem não estão claras como no vídeo, só algumas palavras mesmo para agradeçer e dar mais força!
Um dia quero trabalhar com nodejs de verdade, Abraços!
video bem completo engraçado conceitos avançados como esse n serem tão populares
Gosto bastante da sua didática, obg pelo conteúdo!
Conteúdo incrível Waldemar. Muito obrigado!!
Um conteúdo muito importante, alto nível com uma didática excelente. Esse conteúdo está sendo muito útil, devido a um CLI de transferência de arquivos entre storages que estou realizando. Obrigado! :D
Conteúdo Toop!! Trago bastante conteúdo de PHP em meu canal, mesmo sendo em Node deu pra tirar proveito de muitos pontos relacionados a Threads e Processos com esse vídeo.
Parabéns por criar esse conteúdo de nível técnico alto. Pois é complicado achar algo nesse nível..
Abraço!
Brigado pelo vídeo, cara! Me ajudou muito em um projeto que tô fazendo no momento.
Que vídeo fantástico ❤
Que vídeo sensacional!!!
Boa noite!
Achei seu video muito massa, eu vou utilizar em um trabalho da faculdade onde devo implementar um contador de palavras utilizando o conceito Produtor-Consumidor.
A rede deve funcionar com vários Produtores e Consumidores e um Gerenciador de notificações
Parabéns cara! ótima explicação e bem didática, sempre associando com show cases.
Caramba, fiquei surpreso com a qualidade. Legal ter feito em português também. A gente carece de bons conteúdos na nossa língua. Suas explicações são mto didáticas parabéns =] Subscribed!
Conteudo de ouro, muito claro e didático. Parabéns, Waldemar!!! Ganhou um novo seguidor :)
Já usei worker threads, mas não compartilhava conteúdo entre elas, bem legal saber que dá pra fazer isso. Criei um pool de Thread pra envio de e-mail em massa usando RabbitMQ
Bom caso de uso!
Cara obrigado, parabéns. No meu caso preciso de um Timer rodando de 30 em 30 segs, neste caso prefiro n usar o setInterval, uso o timer do RXJS com Observables, no fundo sei que ele usa o "setInterval", mas preciso ter mais feedback/controle no eventloop, adicionando o Worker ele executa uma verificação sem parar meu event principal.
Ótimo vídeo.
Trabalho com java e estou aprendendo node agora e seus vídeos estão ajudando demais.
No youtube / udemy acho muito conteudo mais voltado pra iniciante, e é muito bom ter um canal como o seu com um conteudo mais aprofundado como esse de threads.
Estou fazendo o curso da API de meteorologia e estou gostando muito por ser um case mais complexo, pois que quem já programa em outra linguagem e uma chatisse ficar fazendo esses cursos que só tem CRUD :D
Fala Adriano! Legal cara, essa é a minha ideia, conteudo mais especializado para realmente mostrar coisas que só se ve no dia a dia!
Que aula sensacional, muito obrigado!
Fantástico Waldemar! Parabéns pelo conteúdo que compartilha! Assisto todos e sempre ajudam muito!! Obrigado
Muito foda Waldemar! Vou inventar um projeto pra usar isso.
Que vídeo sensacional, Waldemar.
Volte a postar vídeos, a comunidade agradeceria muito. 😁
Cara o conteúdo do teu canal é muito bom, PARABÉNS
Que conteúdoincrível. Parabéns pelo vídeo
Gostei, top a explicação, a dúvida que fica é a seguinte, imagina que tenha 50 clientes acessando essa função, nesse caso essas operações vai ser a nível de cliente? por exemplo: cada cliente vai fazer essas processos, ou ele faz todo esse processo pra todos os clientes sendo cada um esperando finalizar os processo para cada um, e depois iniciar para outro cliente dependendo dos recursos da maquina ? não sei se deu pra entende, mas qualquer coisa refaço a pergunta.
muito booom !!! vai continuar com a serie de Design Patterns?
Parabéns, Waldemar! Material de extrema qualidade e relevância! Não esquece de conferir as perguntas nas respostas a esse comentário ;).
1. Observei no código de exemplo sobre Cluster que você implementa manualmente o uso e gestão das CPUs. Nos projetos que você gerencia você também utiliza essa abordagem ou faz uso de alguma ferramenta que simplifica esse processo, como por exemplo o PM2?
2. Há alguma relação entre o recurso de Thread Pool do libuv com Worker Thread ou com Worker Thread Pool ou são coisas distintas, implementações distintas sem relação?
@@WaldemarNetoDevLab obrigado pela resposta. Vou aguardar os links.
Primeiramente parabéns pelo vídeo, super esclarecedor e de ótima qualidade.
Tenho um projeto que realiza muitos cálculos matemáticos (um robô de trading), recebo os dados via websocket de uma corretora e processo tudo em tempo real e preciso desses resultados o mais rápido possível para tomada de decisões.
No meu caso, acredita ser melhor cluster ou threads?
Obrigado.
Interessante sua aplicação, da sua dúvida nasceu minha dúvida :
Nesse caso, não seria interessante mesclar os dois e implementar um load balancer ?
@@xorot é uma opção valida tbm sim sem dúvidas..
No entanto tenho que estudar como faria devido a conexão websocket com a corretora, para não calcular um ativo que já foi calculado em uma outra instância..
Por isso perguntei do cluster, pq daí tenho q ver como faria com essa conexão, entendeu?
Depende muito do design da tua API se tu conseguir fazer os dados serem consumidos pelo worker diretamente vale a pena, se nao cluster faz mais sentido.
Muiito bom!
Caraca, que vídeo animal! Parabéns pelo conteúdo!
Caraca muito bom o canal irmão, ótima didática
Muito bom!
Parabéns Waldemar, excelente conteúdo, tô antenado aqui no canal.
Aproveitar pra fazer um pedido:
um vídeo pra gente explicando os fundamentos e práticas necessárias para criar uma API(rest or not) pública seguindo as diretrizes de segurança usando Node.js, em outras
palavras seria 'O que você precisa pra lançar sua API Node.js pública de maneira segura'.
Abraços!
PS: acho que isso é assunto para uma série, não para um vídeo huahaua, mas creio que ajudaria muita gente incluindo eu que tô meio sem saber por onde começar.
@@WaldemarNetoDevLab opa, show, aguardando! Hahaha 👊👊
que show esta sua explicacao, parabens!
Monta um grupo no Telegram ai , ou já tem ?
Muito bom o vídeo !
Muito bom irmão, você derrete esses assuntos!
Muito bom, parabens pelo conteúdo, me ajudou muito!
Boa
ótima explicação. parabéns pelo trabalho.
Cara que video top, parabéns pelo conteúdo.
Esse esquema do node é bastante similar com o Pthreads ou OpenMP do C/C++
Muito bom
massa!
Parabéns pelo conteúdo,
Excelente vídeo!!
Você acha que ele ainda é válido em 2022?
Monstro! Baita vídeo!
top
Muito bom! Parabéns!
Show de bola!
Obrigado pelo vídeo! Muito top!
Boa tarde Waldemar. Tenho uma pergunta sobre o cluster. Entendi a utilidade dele, até por causa da natureza single thread do JavaScript. Mas ao invés de usar o cluster, não seria a mesma coisa se eu criar o container com um CPU só? (Considerando um cenário com docker) Pois se eu coloco essa preocupação para a infra, eu não vou adicionar um código extra no meu nodejs. O que acha?
Faça mais videos amigo
Tem conteudo novo saindo logo! fica ligado
parabéns mano
Muito bom o conteúdo.
Waldemar, no caso eu tenho uns jobs onde uso node + rabbitmq, tu acha que usando workers poderia ser uma opção ao rabbitmq ?
Obrigado por compartilhar.
Ótimo vídeo! :)
mano, como usar tmux no mac? kkk consegui nao.....fora isso, muito bom o material, o video, parabens pela pesquisa
Cara, muito bom! Parabéns, vou comer os teus conteúdos huahsua
Seguinte, tenho uma aplicação e de vez em quando precisa rodar uma rotina de importação onde eu faço uma requisição para uma API de um terceiro... e trago muitos dados, exemplo, 20000 registro e preciso insertar no meu banco de dados conforme o resultado... e após insertar registro por registro, preciso enviar esses dados de maneira unica, para uma outra API também através de uma requisição... você acredita que se eu fazer um "chunk" dessa resposta e criando multi treads seria um caso valido? Obrigado!
Opa Thiago, caso de uso interessante, mas nesse caso tu estaria usando basicamente as requisições http e o node.js ja é extremamente otimizado pra isso pois o I/O é assincrono, então oque eu faria era separar as requisições de alguma maneira e inves de buscar 20000 de uma vez faria 20 requisições ao mesmo tempo buscando 1000 se possivel, usando algo como Promise.all.
Depois pra enviar eu não entendi muito bem, tu teria que mandar os 20k de uma vez?
Abraço!
@@WaldemarNetoDevLab Não não, a API desse serviço não aceita, é 1 por 1 mesmo...
eu usaria pra video conferencia e criacao de servidores automatizada.
vim + tmux, instalike haha
Parabéns muito bom seu vídeo! E de pessoas assim, que me matem aqui no RUclips .
Ótimo conteúdo, muito bom mesmo se poder indicar cursos ficarei grato vlw mestre !!
@@WaldemarNetoDevLab Tudo bem não consegui acessar muito essa semana, mas mestre, quero focar em sistemas web, com js queria algo que me desse um norte para isso, sei que é pedir muito mas se poder me dar esse help kk fico grato vlw
em servidor que so tem 1 CPU, n seria util usar threads?
qual é este editor que você usou no console ?
no console uso zsh + tmux
ohmyz.sh/
www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/
O meu não passa 2 vezes de forma alguma, então não consigo processar os dados
Opa Lucas, não entendi bem, pode me explicar melhor o problema que tu ta tendo?
Eu estou desenvolvendo um mmorpg utilizando socketio, queria fazer o serve utilizar todos os nucleo, isso desse video funciona?
Talvez o cluster no teu caso seja melhor ja q tu vai precisar q cada socket tenha acesso a toda a aplicacao
+1
Para executar filas em background job posso usar?
Sim certamente!
Eu já ia procurar isso de thread kkkk achei o vídeo com CI e vim mexer no canal, ótimo conteúdo
Mas desculpa por isso, mas abre a boca vei '-'
@@WaldemarNetoDevLab Boca fechada kkkk mas o conteudo ta perfeito, ganhou mais um inscrito
Putz.... conteúdo massacre!!! Posta mais!!!