Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Go, Goroutines, Concorrência e Outros Bichos
Search
DevTalks Bauru
September 13, 2018
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
380
Como Garantir a Qualidade da Sua Aplicação
devtalksbauru
0
120
BDD - Além da Automação
devtalksbauru
0
110
PHP7 - Not for kids
devtalksbauru
0
54
A verdade sobre Frameworks
devtalksbauru
0
67
Home Office: Você e a sua empresa estão preparados?
devtalksbauru
0
160
DevTalks #16 - Diminua seu código Java com Kotlin
devtalksbauru
0
230
Other Decks in Programming
See All in Programming
iOSDC2026登壇資料.pdf
riofujimon
0
120
Webの地図
yosuke_furukawa
PRO
6
4.3k
Heart of Swift Concurrency
koher
0
370
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.1k
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
新卒PdEのリアル
ryu1013
1
490
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
230
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
450
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
140
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
600
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
320
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
190
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Six Lessons from altMBA
skipperchong
29
4.5k
Crafting Experiences
bethany
1
330
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
280
The Pragmatic Product Professional
lauravandoore
37
7.4k
HDC tutorial
michielstock
2
860
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Test your architecture with Archunit
thirion
2
2.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
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