Programação assíncrona vs Programação paralela - Entenda a diferença | Programando com Vinicius Dias

Поделиться
HTML-код
  • Опубликовано: 12 ноя 2024

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

  • @DiasDeDev
    @DiasDeDev  4 года назад +24

    Além da programação assíncrona e da programação paralela, existe um outro termo que normalmente entra nessa conversa: programação concorrente. Você já conhece esse termo? Quer vídeo o canal sobre isso?

  • @EvertonMuniz
    @EvertonMuniz 4 года назад +8

    "Se tudo der certo, vai dar certo" kk
    Muito boa a síntese, Vinicius. Um vídeo sobre concorrência seria muito interessante também

    • @DiasDeDev
      @DiasDeDev  4 года назад +5

      Hahahah
      Programação orientada a fé!
      Valeu pelo feedback, Everton. Vou bolar uns exemplos legais de concorrência.

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

    Obrigado pela qualidade na explicação.

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

      Que bom que gostou, Everson!
      😁

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

    Excelente explicação, parabéns.

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

      Que bom que gostou, Rômulo. :-)

  • @phx.rafael
    @phx.rafael 2 года назад

    Muito obrigado pela explicação, me ajudou bastante.

    • @DiasDeDev
      @DiasDeDev  2 года назад +1

      Fico feliz que tenha sido útil, Rafael.
      😁

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

    Agora eu entendi, agora tudo faz sentido

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

      Fico feliz que tenha ficado claro. :-D

  • @helldanio
    @helldanio 7 месяцев назад

    Meus alunos adoraram

    • @DiasDeDev
      @DiasDeDev  7 месяцев назад

      Opa, que honra!

  • @diogomascarenha
    @diogomascarenha 4 года назад +8

    Parabéns pelo vídeo!
    Acho que valia a pena você ter pelo menos comentado o básico sobre o pacote do Guzzle que precisou ser instalado via Composer para ser usado e que para usar o Runtime, teria que usar o PHP com ZTS (Zend Thread Safety) habilitado.
    Também recomendo que você passe a deixar links na descrição do vídeo para os Slides e esses exemplos prontos no seu Github para as pessoas poderem acessar e testar, nas suas próprias máquinas sem ter que copiar o código (apesar do código ser pequeno), não só o exemplo em PHP, mas colocar no Github também o exemplo Javascript que foi testado no Console do Browser também.
    Sucesso pra você!
    Um abraço!

    • @DiasDeDev
      @DiasDeDev  4 года назад +4

      Ótimas sugestões, Diogo. Vou organizar isso tudo e editar a descrição. Quanto a citar as tecnologias do PHP, eu preferi não citar pra focar nos conceitos mesmo. Pra quem não é de PHP seriam informações não muito úteis...
      Muito obrigado pelo feedback. :-D

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

    Parabéns. Muito obrigado por disponibilizar seu conhecimento de forma clara e objetiva. Sucesso.

    • @DiasDeDev
      @DiasDeDev  2 года назад +1

      Fico feliz que esteja sendo útil, xará

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

      Gratidão. Seus vídeos estam me ajudo muito. Aos 41 anos buscando mudar de profissão. Um forte abraço e sucesso !

  • @nichollasguimaraes2268
    @nichollasguimaraes2268 5 месяцев назад

    Boa! Ficou bem claro.

    • @DiasDeDev
      @DiasDeDev  5 месяцев назад +1

      Que bom que gostou

  • @uhtredmiller
    @uhtredmiller 9 месяцев назад

    Ótima explicação 🎉

    • @DiasDeDev
      @DiasDeDev  9 месяцев назад

      Que bom que curtiu! :-D

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

    Parabens, obrigado pelo conteúdo. Esclareceu de forma clara uma duvida que eu tinha.

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

      Fico feliz que tenha sido útil, Danilo. :-D

  • @LuizFernando-uo2ed
    @LuizFernando-uo2ed 4 года назад +3

    "essa palavra eu acho bastante bonita então eu decidi falar" KKKKKKK
    Perfeita explicação! Canal tá top, ainda vai fazer muito sucesso com ele

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

      Heheheheh
      As vezes até pareço alfabetizado, né!?
      Valeu pelo feedback! :-D

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

    Parabéns Vinícius. Cara ficou muito fácil de entender sua explicação. Continue assim que vai longe.

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

      Opa, muito obrigado pelo feedback, man. Fico feliz. :-D

  •  3 года назад

    Muito show, parabéns! Conteúdo de qualidade de maneira super simples! 😊 não pare de fazer vídeos!!

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

      Obrigado demais pelo feedback, de verdade.
      🤩

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

    Top demais. Sou seu aluno Alura

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

      Que massa! Espero que esteja gostando do conteúdo lá. :-D

  • @Victor_Reginaldo
    @Victor_Reginaldo 6 месяцев назад

    Pergunta sincera meu brother, em uma aplicação de pequena escala, para, por exemplo, uso interno de uma pequena empresa, faz tanta diferença assim? Me pareceu que, desde que a demora na requisição paralela não atrapalhe muito na UX, da pra deixar assim mesmo (pensando que maioria dos frameworks não tem o assincrono como padrão). Pergunto, porque estou com um projeto para uma empresa pequena e fiquei com essa dúvida.

    • @DiasDeDev
      @DiasDeDev  6 месяцев назад +1

      Tudo depende.
      Se você tem que fazer 10 requisições no momento de seu sistema trata a requisição dele, mesmo sendo um sistema interno os usuários vão ficar incomodados com a demora.
      Tudo depende.
      Mas em sisteminhas menores performance geralmente é a última preocupação mesmo.

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

    Muito bom cara. Parabéns!

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

      Opa. Fico feliz que vc curtiu. Obrigado pelo feedback. :-D

  • @Matheus-qv7yw
    @Matheus-qv7yw Год назад

    muito bom!

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

    Caso eu receba uma requisição, e a partir desta requisição eu tenho que executar um processamento pesado, e eu resolva utilizar o parallel para acelerar este processamento. Eu posso executar este processamento no mesmo servidor q eu recebo minhas requisições? Ou seria melhor eu transferir esta tarefa para outro servidor fazer o processamento?

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

      Ambas as alternativas são válidas. Só não pode fazer durante o processamento da requisição. :-)
      Se você quiser separar um servidor específico para tarefas assim, talvez com menos RAM e CPU mais poderosa, pode ser. É até mais seguro pra garantir que não "roube" processamento necessário para processar as requisições.

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

    Show seus vídeos, uma das melhores didáticas que já vi!
    Se possível, faça um vídeo sobre programação reativa!
    Programação reativa é algo que não consigo entender, já sabia o conceito do assincronismo x paralelismo, porém o reativo toda hora eu caio em confundo em um desses dois conceitos, e não consigo entender é nada!
    Valeu!

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

      Opa, Rafael. Muito obrigado pelo feedback e pela ótima sugestão. Já anotei aqui pra preparar esse conteúdo. :-D

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

    Fala Vinicius tudo bem, fiquei com uma dúvida. Quando falamos que o PHP e multi-threaded e o JS é single-threaded Será que o JS não funcionaria rodar os processos em paralelo?

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

      Tanto PHP quanto JS são single-threaded por natureza. A diferença é que há na linguagem PHP recursos nativos para criar processos e threads. Em JavaScript não. Algumas libs que rodam na runtime do node fazem chamadas de sistema pra atingir esse propósito.
      :-)

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

      @@DiasDeDev obrigado pela resposta! Acabei vendo que existe a opção em node de "virtualizar" (Workers e Clusters) a chamada multiplicando as threads mas é perigoso estourar o limite da CPU.

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

      Trabalhar com multi processamento é perigoso em qualquer linguagem.
      Rs
      Node só fornece algumas chamadas de sistema mesmo... não adiciona nenhum risco inerente à linguagem ou à runtime não (a não ser bugs que a própria runtime possa ter. acontece)

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

    Olá Vinicius muito foda o conteúdo, estou em uma imersão grande nesse mundo de dev, pode me tirar uma duvida ?
    Na utilização da programação assíncrona, quem vai ser responsável em organizar os dados digo, se eu precisar receber esses dados em determinada ordem, como ficaria?
    Obrigado, estou realizando os treinamentos na Alura tbm, muito foda!

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

      Fala, Guilherme. Então, cada lib funciona de um jeito na programação assíncrona. No Guzzle por exemplo você pode receber as respostas HTTP na mesma ordem em que voce fez as requisições. Mas se uma requisição for dependente da outra, você não vai poder fazê-las de forma assíncrona.
      Já que você é aluno da Alura, em breve vai sair um curso de programação paralela lá! :-D

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

      @@DiasDeDev muito obrigado Vinicius entendi perfeitamente, porém, preciso codar pra ver funcionando, pode deixar irei ficar de olho nas novidades que recebo aqui e na Aulura =DDDDD. Obrigado novamente.

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

      Isso aí, @@guimtts. Com mão na massa eu também entendo bem melhor. Aqui você já tem uma boa noção sobre como fazer vários requests usando Guzzle, por exemplo: docs.guzzlephp.org/en/stable/quickstart.html#concurrent-requests

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

    Muito bom o video!

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

      Opa, valeu pelo feedback. Que bom que curtiu! :-D

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

      @@DiasDeDev cara, curto muito tua didática, nesse exato momento estou fazendo teu curso de Doctrine ORM na Alura, dei uma pausa no estudo e vim fazer o que? Ver um vídeo no teu canal kkk

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

      @@mateusdesousaesilva4382 hahahahah
      Fico muito feliz que você esteja curtindo o conteúdo, de verdade. :-D
      Tamo junto nesse domingão de estudos. Também to nessa pegada por aqui. hahahah

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

    Poderia falar sobre a programação real time com socket, isso também se confunde com programação assíncrona e síncrona.

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

      Opa, ideia sensacional!! Vou estudar mais sobre o assunto.

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

    Legal.

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

      Que bom que curtiu, Andre. :-D

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

    up

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

    Mas programação paralela não é um tipo de programação assíncrona? Assim como a programação concorrente.

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

      Opa, Emanoel. Então, na vdd existe bastante confusão.
      Na faculdade, por exemplo, eu aprendi esses 3 nomes como sendo coisas diferentes.
      Programação concorrente seria a técnica de programar rotinas que concorrem acesso a recursos. Mesmo que fossem síncronas.
      Programação assíncrona seria I/O não bloqueante.
      E paralela seria multi-thread ou multi-processo.
      Hoje eu vejo da seguinte forma:
      Programação paralela mantém o mesmo conceito. É o ato de criar rotinas que são executadas realmente ao mesmo tempo. Isso é feito através de processos ou threads.
      Programação concorrente seria I/O não bloqueante.
      Programação assíncrona engloba ambos os termos, pois é o ato de programar de forma "não síncrona", ou seja, a ordem das instruções não é previsível.

  • @fredericonobrega6007
    @fredericonobrega6007 2 месяца назад

    Programação paralela é a mesma coisa que síncrona ?