Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
0
85
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
210
Robôs para Mercado Financeiro com MQL
devtalksbauru
1
210
Introdução ao Universo React Native
devtalksbauru
0
360
Como Garantir a Qualidade da Sua Aplicação
devtalksbauru
0
99
BDD - Além da Automação
devtalksbauru
0
93
PHP7 - Not for kids
devtalksbauru
0
49
A verdade sobre Frameworks
devtalksbauru
0
50
Home Office: Você e a sua empresa estão preparados?
devtalksbauru
0
140
DevTalks #16 - Diminua seu código Java com Kotlin
devtalksbauru
0
210
Other Decks in Programming
See All in Programming
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
640
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.7k
Building AI with AI
inesmontani
PRO
1
430
GeistFabrik and AI-augmented software development
adewale
PRO
0
220
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
110
Microservices rules: What good looks like
cer
PRO
0
120
チーム開発の “地ならし"
konifar
8
6.4k
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
120
20 years of Symfony, what's next?
fabpot
1
150
Module Harmony
petamoriken
2
580
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
210
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
Featured
See All Featured
Music & Morning Musume
bryan
46
7k
Side Projects
sachag
455
43k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Cult of Friendly URLs
andyhume
79
6.7k
Fireside Chat
paigeccino
41
3.7k
A designer walks into a library…
pauljervisheath
210
24k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
For a Future-Friendly Web
brad_frost
180
10k
Being A Developer After 40
akosma
91
590k
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