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
320
1
Share
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
400
Greenlet-based concurrency
gperetin
2
670
WebcampZG 2012
gperetin
1
440
Other Decks in Programming
See All in Programming
ロボットのための工場に灯りは要らない
watany
12
3.2k
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
490
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
230
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
200
Coding as Prompting Since 2025
ragingwind
0
560
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
320
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
270
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
380
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
190
Rethinking API Platform Filters
vinceamstoutz
0
4.2k
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
310
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Designing for humans not robots
tammielis
254
26k
How STYLIGHT went responsive
nonsquared
100
6k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
210
Claude Code のすすめ
schroneko
67
220k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
92
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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