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 🗣

Комментарии • 102

  • @jardelcasteluber6189
    @jardelcasteluber6189 5 лет назад +24

    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!

  • @tiagospfc1972
    @tiagospfc1972 4 года назад +1

    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!

  • @SilasSWF
    @SilasSWF 26 дней назад

    Vídeo excelente. Parabéns!!!

  • @rogeriosobrinho7708
    @rogeriosobrinho7708 3 года назад +2

    Material excelente!
    Parabéns pela iniciativa e por compartilhar o conteúdo

  • @user-fd3lz8jz7n
    @user-fd3lz8jz7n 11 месяцев назад

    Caraca MLK............. mandou bem d++!!! Vou usar e vou guardar ...

  • @vilmarMartins
    @vilmarMartins 3 года назад +2

    Waldemar, que qualidade de vídeo! Muito obrigado por compartilhar tanto conhecimento com a gente.

  • @FelipeDiogoKun
    @FelipeDiogoKun 5 лет назад

    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!

  • @willianzuqui8005
    @willianzuqui8005 4 года назад +1

    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.

  • @SebaRealino
    @SebaRealino 3 года назад

    Parabéns! Ótimo conteúdo.

  • @luiz-goncalves
    @luiz-goncalves 5 лет назад +2

    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). :)

  • @matheusz_nied
    @matheusz_nied 11 месяцев назад

    Muito bom esse video! Aprendi demais

  • @lucasmls_
    @lucasmls_ 5 лет назад +1

    O conteúdo do canal está sensacional! Por favor, continue com estes tipos de videos

  • @marcospereira3614
    @marcospereira3614 Год назад

    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 😁

  • @caiofxlipe8810
    @caiofxlipe8810 2 года назад

    Caraca que video absurdo. Mt bom cara.

  • @FelipeFontana
    @FelipeFontana 5 лет назад

    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!

  • @glauberbispo8922
    @glauberbispo8922 Год назад

    video bem completo engraçado conceitos avançados como esse n serem tão populares

  • @wusley
    @wusley Год назад

    Gosto bastante da sua didática, obg pelo conteúdo!

  • @JanderSilva01
    @JanderSilva01 2 года назад

    Conteúdo incrível Waldemar. Muito obrigado!!

  • @thiagosantos41
    @thiagosantos41 3 года назад

    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

  • @RafaelCapoani
    @RafaelCapoani 4 года назад

    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!

  • @joaoapuamelo5899
    @joaoapuamelo5899 2 года назад

    Brigado pelo vídeo, cara! Me ajudou muito em um projeto que tô fazendo no momento.

  • @michaelreis7416
    @michaelreis7416 Год назад

    Que vídeo fantástico ❤

  • @leonardograndi1367
    @leonardograndi1367 2 года назад

    Que vídeo sensacional!!!

  • @BrunoHenrique-io3pt
    @BrunoHenrique-io3pt 3 года назад

    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

  • @flawtista
    @flawtista 5 лет назад +1

    Parabéns cara! ótima explicação e bem didática, sempre associando com show cases.

  • @JoaoPauloLindgren
    @JoaoPauloLindgren 4 года назад

    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!

  • @vitorolivier
    @vitorolivier 4 года назад

    Conteudo de ouro, muito claro e didático. Parabéns, Waldemar!!! Ganhou um novo seguidor :)

  • @gabrielguimaraes3349
    @gabrielguimaraes3349 3 года назад

    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

  • @Dsouza10082
    @Dsouza10082 4 года назад

    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.

  • @adrianosouza5518
    @adrianosouza5518 4 года назад

    Ó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

    • @WaldemarNetoDevLab
      @WaldemarNetoDevLab  4 года назад

      Fala Adriano! Legal cara, essa é a minha ideia, conteudo mais especializado para realmente mostrar coisas que só se ve no dia a dia!

  • @123franzin
    @123franzin 2 года назад +1

    Que aula sensacional, muito obrigado!

  • @abelmferreira
    @abelmferreira 5 лет назад

    Fantástico Waldemar! Parabéns pelo conteúdo que compartilha! Assisto todos e sempre ajudam muito!! Obrigado

  • @JuraciVieiraNeto
    @JuraciVieiraNeto 5 лет назад

    Muito foda Waldemar! Vou inventar um projeto pra usar isso.

  • @gbrllnz
    @gbrllnz 4 года назад

    Que vídeo sensacional, Waldemar.
    Volte a postar vídeos, a comunidade agradeceria muito. 😁

  • @johnfaria2278
    @johnfaria2278 5 лет назад

    Cara o conteúdo do teu canal é muito bom, PARABÉNS

  • @1729patrick
    @1729patrick 4 года назад

    Que conteúdoincrível. Parabéns pelo vídeo

  • @157157ricardo
    @157157ricardo 3 года назад

    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.

  • @brunomelo4570
    @brunomelo4570 5 лет назад +1

    muito booom !!! vai continuar com a serie de Design Patterns?

  • @geisonsn
    @geisonsn 5 лет назад

    Parabéns, Waldemar! Material de extrema qualidade e relevância! Não esquece de conferir as perguntas nas respostas a esse comentário ;).

    • @geisonsn
      @geisonsn 5 лет назад

      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?

    • @geisonsn
      @geisonsn 5 лет назад

      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?

    • @geisonsn
      @geisonsn 5 лет назад

      @@WaldemarNetoDevLab obrigado pela resposta. Vou aguardar os links.

  • @c0nf1cka14
    @c0nf1cka14 4 года назад +2

    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.

    • @xorot
      @xorot 4 года назад +1

      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 ?

    • @c0nf1cka14
      @c0nf1cka14 4 года назад

      @@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?

    • @WaldemarNetoDevLab
      @WaldemarNetoDevLab  4 года назад +1

      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.

  • @diegoca8682
    @diegoca8682 3 года назад

    Muiito bom!

  • @gabrielbibiano2629
    @gabrielbibiano2629 5 лет назад

    Caraca, que vídeo animal! Parabéns pelo conteúdo!

  • @marcelodasilva4502
    @marcelodasilva4502 4 года назад

    Caraca muito bom o canal irmão, ótima didática

  • @canalluanoliveira
    @canalluanoliveira 3 года назад

    Muito bom!

  • @johnsmera5879
    @johnsmera5879 5 лет назад

    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!

    • @johnsmera5879
      @johnsmera5879 5 лет назад

      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.

    • @johnsmera5879
      @johnsmera5879 5 лет назад

      @@WaldemarNetoDevLab opa, show, aguardando! Hahaha 👊👊

  • @fabianogirardi9604
    @fabianogirardi9604 5 лет назад

    que show esta sua explicacao, parabens!

  • @michelbernardo6883
    @michelbernardo6883 4 года назад +3

    Monta um grupo no Telegram ai , ou já tem ?

  • @embura
    @embura 5 лет назад

    Muito bom o vídeo !

  • @josev1nicius
    @josev1nicius 4 года назад

    Muito bom irmão, você derrete esses assuntos!

  • @tiagomurilo3116
    @tiagomurilo3116 3 года назад

    Muito bom, parabens pelo conteúdo, me ajudou muito!

  • @cabritotv
    @cabritotv Год назад

    Boa

  • @hectorcardoso3747
    @hectorcardoso3747 5 лет назад

    ótima explicação. parabéns pelo trabalho.

  • @aercioferreiraneiva8640
    @aercioferreiraneiva8640 5 лет назад

    Cara que video top, parabéns pelo conteúdo.

  • @flawtista
    @flawtista 5 лет назад

    Esse esquema do node é bastante similar com o Pthreads ou OpenMP do C/C++

  • @leandronovaes5664
    @leandronovaes5664 3 года назад

    Muito bom

  • @Mercio2
    @Mercio2 Год назад

    massa!

  • @TiagoGeremias
    @TiagoGeremias 5 лет назад

    Parabéns pelo conteúdo,

  • @AnaHelena
    @AnaHelena 2 года назад

    Excelente vídeo!!
    Você acha que ele ainda é válido em 2022?

  • @SouDev
    @SouDev 5 лет назад

    Monstro! Baita vídeo!

  • @rafaeldiassilvasilva4205
    @rafaeldiassilvasilva4205 3 года назад

    top

  • @wendellpalazzo6909
    @wendellpalazzo6909 4 года назад

    Muito bom! Parabéns!

  • @ffpthai
    @ffpthai 3 года назад

    Show de bola!

  • @LucasSoaresAraujo
    @LucasSoaresAraujo 4 года назад

    Obrigado pelo vídeo! Muito top!

  • @Renanfa1
    @Renanfa1 5 лет назад

    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?

  • @TheWutachi
    @TheWutachi 4 года назад

    Faça mais videos amigo

  • @gabrielrufino9041
    @gabrielrufino9041 4 года назад

    parabéns mano

  • @PalmerOliveira
    @PalmerOliveira 5 лет назад

    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.

  • @foxfrito
    @foxfrito 5 лет назад

    Ótimo vídeo! :)

  • @principe.borodin
    @principe.borodin 5 лет назад

    mano, como usar tmux no mac? kkk consegui nao.....fora isso, muito bom o material, o video, parabens pela pesquisa

  • @thiagodomingues4769
    @thiagodomingues4769 3 года назад

    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!

    • @WaldemarNetoDevLab
      @WaldemarNetoDevLab  3 года назад +1

      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!

    • @thiagodomingues4769
      @thiagodomingues4769 3 года назад

      @@WaldemarNetoDevLab Não não, a API desse serviço não aceita, é 1 por 1 mesmo...

  • @principe.borodin
    @principe.borodin 5 лет назад

    eu usaria pra video conferencia e criacao de servidores automatizada.

  • @user-cf5uf9sw1u
    @user-cf5uf9sw1u 5 лет назад

    vim + tmux, instalike haha

  • @fernandojgomes
    @fernandojgomes 5 лет назад +1

    Parabéns muito bom seu vídeo! E de pessoas assim, que me matem aqui no RUclips .

  • @ricardolucas5908
    @ricardolucas5908 5 лет назад

    Ótimo conteúdo, muito bom mesmo se poder indicar cursos ficarei grato vlw mestre !!

    • @ricardolucas5908
      @ricardolucas5908 5 лет назад

      @@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

  • @lucasviece
    @lucasviece 5 лет назад

    em servidor que so tem 1 CPU, n seria util usar threads?

  • @soludev2001
    @soludev2001 4 года назад +1

    qual é este editor que você usou no console ?

    • @WaldemarNetoDevLab
      @WaldemarNetoDevLab  4 года назад +1

      no console uso zsh + tmux
      ohmyz.sh/
      www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/

  • @lucasguimaraes7959
    @lucasguimaraes7959 3 года назад +1

    O meu não passa 2 vezes de forma alguma, então não consigo processar os dados

    • @WaldemarNetoDevLab
      @WaldemarNetoDevLab  3 года назад

      Opa Lucas, não entendi bem, pode me explicar melhor o problema que tu ta tendo?

  • @canalred3609
    @canalred3609 4 года назад +1

    Eu estou desenvolvendo um mmorpg utilizando socketio, queria fazer o serve utilizar todos os nucleo, isso desse video funciona?

    • @WaldemarNetoDevLab
      @WaldemarNetoDevLab  4 года назад

      Talvez o cluster no teu caso seja melhor ja q tu vai precisar q cada socket tenha acesso a toda a aplicacao

  • @marcosoliveira8731
    @marcosoliveira8731 4 года назад

    +1

  • @xavierjece12
    @xavierjece12 3 года назад

    Para executar filas em background job posso usar?

  • @SouAndersonDavid
    @SouAndersonDavid 5 лет назад

    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 '-'

    • @SouAndersonDavid
      @SouAndersonDavid 5 лет назад

      @@WaldemarNetoDevLab Boca fechada kkkk mas o conteudo ta perfeito, ganhou mais um inscrito

  • @aristotelescoutinho
    @aristotelescoutinho 4 года назад

    Putz.... conteúdo massacre!!! Posta mais!!!