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
Goran Peretin
October 27, 2013
Programming
1
300
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
380
Greenlet-based concurrency
gperetin
2
620
WebcampZG 2012
gperetin
1
420
Other Decks in Programming
See All in Programming
Goで作る、開発・CI環境
sin392
0
230
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
760
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
250
Team operations that are not burdened by SRE
kazatohiei
1
310
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
160
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
12
4.4k
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
120
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
130
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
150
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
11k
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
280
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
Scaling GitHub
holman
460
140k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Language of Interfaces
destraynor
158
25k
Automating Front-end Workflow
addyosmani
1370
200k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
Become a Pro
speakerdeck
PRO
29
5.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Rails Girls Zürich Keynote
gr2m
95
14k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
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