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
High-level Concurrency
Search
Rob Brown
August 20, 2015
Programming
67
1
Share
High-level Concurrency
Learn about how the actor model can hide and manage the complexities of concurrent programs.
Rob Brown
August 20, 2015
More Decks by Rob Brown
See All by Rob Brown
Data Source Combinators
robbrown
2
76
Elixir
robbrown
1
230
MVVM
robbrown
3
260
Reactive Cocoa
robbrown
2
150
UIKit Dynamics
robbrown
0
80
iOS State Preservation and Restoration
robbrown
5
750
Anti-Patterns
robbrown
3
130
Core Animation: Beyond the Basics
robbrown
1
98
Pragmatic Blocks
robbrown
3
110
Other Decks in Programming
See All in Programming
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
290
モダンOBSプラグイン開発
umireon
0
200
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
660
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.6k
Nuxt Server Components
wattanx
0
240
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
170
iOS機能開発のAI環境と起きた変化
ryunakayama
0
150
20260320登壇資料
pharct
0
160
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
150
KagglerがMixSeekを触ってみた
morim
0
370
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
200
Believing is Seeing
oripsolob
1
100
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
170
Utilizing Notion as your number one productivity tool
mfonobong
4
280
A Soul's Torment
seathinner
5
2.6k
Test your architecture with Archunit
thirion
1
2.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Transcript
High%level)Concurrency ©"Robert"Brown"August"2015"@robby_brown
Overview 1. The&Problems 2. Architecture&Theory 3. Examples 4. Demo ©"Robert"Brown"August"2015"@robby_brown
The$Problems ©"Robert"Brown"August"2015"@robby_brown
Atomicity ©"Robert"Brown"August"2015"@robby_brown
Nondeterminism ©"Robert"Brown"August"2015"@robby_brown
Race%Condi+ons ©"Robert"Brown"August"2015"@robby_brown
Mutual&Exclusion ©"Robert"Brown"August"2015"@robby_brown
Dead%lock ©"Robert"Brown"August"2015"@robby_brown
The$list$goes$on... ©"Robert"Brown"August"2015"@robby_brown
Keeping'track'of'so'much'informa3on'is'hard ©"Robert"Brown"August"2015"@robby_brown
Computers*are*good*at*tracking*lots*of* informa4on ©"Robert"Brown"August"2015"@robby_brown
We#write#code#that#tests#code. We#write#code#that#generates#code. ©"Robert"Brown"August"2015"@robby_brown
Let's&use&a&system&that&lets&the&computer& manage&concurrency ©"Robert"Brown"August"2015"@robby_brown
Architecture)Theory ©"Robert"Brown"August"2015"@robby_brown
Actor&Model ©"Robert"Brown"August"2015"@robby_brown
A"universal"primi.ve"of"concurrent" computa.on. —"Defini(on"of"an"Actor1 1"Wikipedia ©"Robert"Brown"August"2015"@robby_brown
[T]he&problem&with&[OOP]&languages& is&they’ve&got&all&this&implicit& environment&that&they&carry&around& with&them. —"Joe"Armstrong3 3"Coder's"at"Work ©"Robert"Brown"August"2015"@robby_brown
You$wanted$a$banana$but$what$you$ got$was$a$gorilla$holding$the$banana$ and$the$en3re$jungle. —"Joe"Armstrong3 3"Coder's"at"Work ©"Robert"Brown"August"2015"@robby_brown
I'm$sorry$that$I$long$ago$coined$the term$"objects"$for$this$topic$because$ it$gets$many$people$to$focus$on$the lesser$idea. —"Alan"Kay2 2"Squeak"Mailing"List ©"Robert"Brown"August"2015"@robby_brown
The$key$in$making$great$and$ growable$systems$is$much$more$to$ design$how$its$modules$ communicate$rather$than$what$their$ internal$proper7es$and$behaviors$ should$be. —"Alan"Kay2 2"Squeak"Mailing"List ©"Robert"Brown"August"2015"@robby_brown
Protocol'oriented,programming, focuses,on,interac4ons,rather,than, object,hierarchies. See#WWDC#2015#Session#408 ©"Robert"Brown"August"2015"@robby_brown
Actor&Opera+ons4 1. Make'local'decisions 2. Create'other'actors 3. Send/receive'messages 4"Wikipedia ©"Robert"Brown"August"2015"@robby_brown
Warning:(Flow(Charts(Ahead5 5"XKCD"518 ©"Robert"Brown"August"2015"@robby_brown
Typical(Actor(Flow ©"Robert"Brown"August"2015"@robby_brown
Example Your%Code%as%a%Crime%Scene ©"Robert"Brown"August"2015"@robby_brown
Sequen&al)Processing ©"Robert"Brown"August"2015"@robby_brown
©"Robert"Brown"August"2015"@robby_brown
Concurrent)Processing ©"Robert"Brown"August"2015"@robby_brown
©"Robert"Brown"August"2015"@robby_brown
Parallel&Processing ©"Robert"Brown"August"2015"@robby_brown
©"Robert"Brown"August"2015"@robby_brown
©"Robert"Brown"August"2015"@robby_brown
Monad&Binding ©"Robert"Brown"August"2015"@robby_brown
©"Robert"Brown"August"2015"@robby_brown
Two$level(Aggrega-on ©"Robert"Brown"August"2015"@robby_brown
©"Robert"Brown"August"2015"@robby_brown
Interchangable,Parts ©"Robert"Brown"August"2015"@robby_brown
©"Robert"Brown"August"2015"@robby_brown
Other&Examples ©"Robert"Brown"August"2015"@robby_brown
Instagram ©"Robert"Brown"August"2015"@robby_brown
Deckset ©"Robert"Brown"August"2015"@robby_brown
LLVM6 6"LLVM"for"Grad"Students ©"Robert"Brown"August"2015"@robby_brown
Automator ©"Robert"Brown"August"2015"@robby_brown
IFTTT ©"Robert"Brown"August"2015"@robby_brown
Workflow ©"Robert"Brown"August"2015"@robby_brown
Summary 1. The&Problems 2. Architecture&Theory 3. Examples 4. Demo ©"Robert"Brown"August"2015"@robby_brown
One$Final$Thought ©"Robert"Brown"August"2015"@robby_brown
The$Main$Thread$is$a$Singleton! !!"!#!$!% ©"Robert"Brown"August"2015"@robby_brown
Demo ©"Robert"Brown"August"2015"@robby_brown
Ques%ons? ©"Robert"Brown"August"2015"@robby_brown
Resources(to(Learn(More • WWDC%2015%Session%226 • Actor%Model • Communica;ng%Sequen;al%Processes%(CSP) ©"Robert"Brown"August"2015"@robby_brown
In#Depth#Resources • MapReduce • Lambda-Architecture • Reac3ve-Streams • WWDC-2015-Session-408 •
Amdahl's-Law ©"Robert"Brown"August"2015"@robby_brown