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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
DevTalks Bauru
September 13, 2018
Programming
0
88
Go, Goroutines, Concorrência e Outros Bichos
Talk do José Paulo Neto
DevTalks Bauru
September 13, 2018
Tweet
Share
More Decks by DevTalks Bauru
See All by DevTalks Bauru
Construindo Microsserviços a partir de um Monolito
devtalksbauru
0
240
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
100
BDD - Além da Automação
devtalksbauru
0
93
PHP7 - Not for kids
devtalksbauru
0
49
A verdade sobre Frameworks
devtalksbauru
0
56
Home Office: Você e a sua empresa estão preparados?
devtalksbauru
0
140
DevTalks #16 - Diminua seu código Java com Kotlin
devtalksbauru
0
220
Other Decks in Programming
See All in Programming
浮動小数の比較について
kishikawakatsumi
0
370
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
540
CSC307 Lecture 14
javiergs
PRO
0
450
Codex の「自走力」を高める
yorifuji
0
240
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
510
Unity6.3 AudioUpdate
cova8bitdots
0
110
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.2k
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
480
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
130
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
220
AIコーディングの理想と現実 2026 | AI Coding: Expectations vs. Reality 2026
tomohisa
0
1k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
210
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
160
Designing for Performance
lara
611
70k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
74
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Design in an AI World
tapps
0
160
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
We Are The Robots
honzajavorek
0
190
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Un-Boring Meetings
codingconduct
0
220
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
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