Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go, Goroutines, Concorrência e Outros Bichos
Search
DevTalks Bauru
September 13, 2018
Programming
94
0
Share
Go, Goroutines, Concorrência e Outros Bichos
Talk do José Paulo Neto
DevTalks Bauru
September 13, 2018
More Decks by DevTalks Bauru
See All by DevTalks Bauru
Construindo Microsserviços a partir de um Monolito
devtalksbauru
0
250
Robôs para Mercado Financeiro com MQL
devtalksbauru
1
210
Introdução ao Universo React Native
devtalksbauru
0
370
Como Garantir a Qualidade da Sua Aplicação
devtalksbauru
0
110
BDD - Além da Automação
devtalksbauru
0
97
PHP7 - Not for kids
devtalksbauru
0
52
A verdade sobre Frameworks
devtalksbauru
0
59
Home Office: Você e a sua empresa estão preparados?
devtalksbauru
0
150
DevTalks #16 - Diminua seu código Java com Kotlin
devtalksbauru
0
220
Other Decks in Programming
See All in Programming
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
120
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
From Formal Specification to Property Based Test
ohbarye
0
1.2k
Making the RBS Parser Faster
soutaro
0
670
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
250
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
140
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
130
🦞OpenClaw works with AWS
licux
1
340
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
180
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
AIを導入する前にやるべきこと
negima
2
340
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
320
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Accessibility Awareness
sabderemane
1
110
Believing is Seeing
oripsolob
1
120
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
HDC tutorial
michielstock
2
650
Odyssey Design
rkendrick25
PRO
2
610
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
170
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
The SEO identity crisis: Don't let AI make you average
varn
0
460
30 Presentation Tips
portentint
PRO
1
290
Transcript
Go Goroutines, Concorrência e outros bixos
José Paulo Neto Twitter => /J_Zes GitHub => /jzes Email
=>
[email protected]
CrowLabs https://t.me/crowlabs
Go “lang” ==> Inicio ==> Porque ?? ==> Quem ??
Concorrência “ Paralelismo é fazer varias coisas ao mesmo tempo,
concorrência é mais como lidar com varias coisas ao mesmo tempo. ” Rob Pike
concorrência != paralelismo ==> Concorrência é sobre estrutura Funções independentes
==> Paralelismo é sobre execução Só é possível com mais de um core ou processador
Explicando melhor
==> O Problema Mover pilhas de documentação de linguagens velhas
para a fogueira.
==> Como melhorar Mais trabalhadores, que vão precisar de mais
um carrinho
==> Não melhorou tanto Agora temos dois gargalos
==> Como melhorar Dupliquem Tudo !
==> Inclusive os recursos :(
==> Inclusive os recursos :(
==> Que tal dividirmos o trabalho??
==> Que tal dividirmos o trabalho?? E chamarmos mais amiguinhos??
==> Paralelismo Um Tipo de paralelismo
==> Paralelismo Uma outra forma de paralelisar
==> Como melhorar Juntando os dois!
De volta ao Go ==> Go foca em concorrência ==>
Paralelismo quando possível ==> Goroutines
Goroutines ==> Não são threads ==> Multiplexadas em threads ==>
Leves <2kb ==> Fácil implementação
Goroutines Implementação Sem Goroutine Com Goroutine
Goroutines Saidas Sem Goroutine Com Goroutine
Comunicação
Chanels
Chanels Implementação
Chanels Saida Todos os Workers iniciando
Fila Chanels
Main
Load e Struct
Processo Lento Qualquer
Fila Chanels Saida Processos startando “simultaneamente” antes da primeira saida
Processos com menor tempo de carga terminam e começam mais rápido O Programa só termina com a resposta de todos os chanels aguardados
Conclusões
Finis