Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Webcamp Zagreb 2013
Goran Peretin
October 27, 2013
Programming
1
150
Webcamp Zagreb 2013
Slides for a talk "Concurrency" that I gave at Webcamp Zagreb.
Goran Peretin
October 27, 2013
Tweet
Share
More Decks by Goran Peretin
See All by Goran Peretin
On Concurrency
gperetin
1
210
Greenlet-based concurrency
gperetin
2
420
WebcampZG 2012
gperetin
1
270
Other Decks in Programming
See All in Programming
Develop your CI tools
xgouchet
2
180
Cloud Bigtable を使いこなす秘訣 2022
kusahana
0
220
バンドル最適化マニアクス at tfconf
mizchi
3
1.4k
Get Ready for Jakarta EE 10
ivargrimstad
0
1.7k
Enterprise Angular: Frontend Moduliths with Nx and Standalone Components @jax2022
manfredsteyer
PRO
0
270
設計とテストの必要性について考える
akeno
0
140
ゼロから作る Protocol Buffer のパーサーとレキサー / Writing Protocol Buffer Parser/Lexer in Go from scratch
yoheimuta
1
160
Is Rust a great language for building Kubernetes ecosystem
deepu105
0
140
あなたの会社の古いシステム、なんとかしませんか?~システム刷新から考えるDX化への道筋とバリエーション~/webinar20220420-grapecity
grapecity_dev
0
120
dbtとBigQueryで始めるData Vault入門
kazk1018
0
160
Modern Web Apps with Spring Boot, Angular & TypeScript
toedter
12
14k
コードの解析と言語習得の心得
jinjin33333
0
110
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
The Web Native Designer (August 2011)
paulrobertlloyd
74
1.9k
GitHub's CSS Performance
jonrohan
1020
410k
The Brand Is Dead. Long Live the Brand.
mthomps
45
2.7k
Optimizing for Happiness
mojombo
365
63k
Making Projects Easy
brettharned
98
4.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
638
52k
Fantastic passwords and where to find them - at NoRuKo
philnash
25
1.4k
We Have a Design System, Now What?
morganepeng
35
2.9k
How STYLIGHT went responsive
nonsquared
85
3.9k
Docker and Python
trallard
27
1.5k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
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