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
Webcamp Zagreb 2013
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Goran Peretin
October 27, 2013
Programming
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webcamp Zagreb 2013
Slides for a talk "Concurrency" that I gave at Webcamp Zagreb.
Goran Peretin
October 27, 2013
More Decks by Goran Peretin
See All by Goran Peretin
On Concurrency
gperetin
1
410
Greenlet-based concurrency
gperetin
2
680
WebcampZG 2012
gperetin
1
450
Other Decks in Programming
See All in Programming
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
170
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
310
symfony/aiとlaravel/boost
77web
0
130
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
170
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
190
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
190
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.4k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
230
Featured
See All Featured
Scaling GitHub
holman
464
140k
YesSQL, Process and Tooling at Scale
rocio
174
15k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.8k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
GitHub's CSS Performance
jonrohan
1033
470k
How to Talk to Developers About Accessibility
jct
2
370
A designer walks into a library…
pauljervisheath
211
24k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Practical Orchestrator
shlominoach
191
11k
Paper Plane
katiecoart
PRO
2
52k
Transcript
Concurrency @gperetin Sunday, October 27, 13
Goran Peretin (@gperetin) Sunday, October 27, 13
Goran Peretin (@gperetin) Sunday, October 27, 13
Goran Peretin (@gperetin) Sunday, October 27, 13
Goran Peretin (@gperetin) Sunday, October 27, 13
Sadržaj Concurrency Parallelism Problemi/rješenja Sunday, October 27, 13
Sunday, October 27, 13
Demo time! Sunday, October 27, 13
Python3 & Ruby Sunday, October 27, 13
Concurrency Izvršavanje više taskova u nekom vremenskom periodu. Sunday, October
27, 13
Parallelism Izvršavanje više taskova istovremeno. Sunday, October 27, 13
Concurrency != Parallelism Sunday, October 27, 13
Process-based concurrency task == proces Sunday, October 27, 13
Thread-based concurrency task == thread Sunday, October 27, 13
GIL (Ruby & Python) • Global Interpreter Lock • dva
threada se ne mogu izvršavati istovremeno Sunday, October 27, 13
Ruby i Python ne mogu imati thread-based parallelism. Sunday, October
27, 13
PHP Sunday, October 27, 13
PHP • PHP nema threadove • Nije thread-safe • PHP-FPM
• Apache (mod_php) Sunday, October 27, 13
Java & .NET Sunday, October 27, 13
Java & .NET Sunday, October 27, 13
Problemi? • broj procesa i threadova • RAM Sunday, October
27, 13
Blocking I/O OS pauzira thread koji napravi I/O request. Za
izvršavanje drugog requesta treba nam novi thread. Sunday, October 27, 13
Rješenja? Non-blocking I/O Lightweight processes Sunday, October 27, 13
Non-blocking I/O Twisted, Tornado EventMachine Node.js Sunday, October 27, 13
Lightweight processes Erlang (actors) Go (goroutines) --- Python (greenlets) Ruby
(fibers) Sunday, October 27, 13
Što da koristim? Sunday, October 27, 13
Hvala! Pitanja? Sunday, October 27, 13