$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
High-level Concurrency
Search
Rob Brown
August 20, 2015
Programming
1
61
High-level Concurrency
Learn about how the actor model can hide and manage the complexities of concurrent programs.
Rob Brown
August 20, 2015
Tweet
Share
More Decks by Rob Brown
See All by Rob Brown
Data Source Combinators
robbrown
2
71
Elixir
robbrown
1
220
MVVM
robbrown
3
260
Reactive Cocoa
robbrown
2
150
UIKit Dynamics
robbrown
0
73
iOS State Preservation and Restoration
robbrown
5
740
Anti-Patterns
robbrown
3
120
Core Animation: Beyond the Basics
robbrown
1
92
Pragmatic Blocks
robbrown
3
110
Other Decks in Programming
See All in Programming
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
340
エディターってAIで操作できるんだぜ
kis9a
0
730
開発に寄りそう自動テストの実現
goyoki
2
1k
認証・認可の基本を学ぼう前編
kouyuume
0
250
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
360
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.9k
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
230
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
170
Github Copilotのチャット履歴ビューワーを作りました~WPF、dotnet10もあるよ~ #clrh111
katsuyuzu
0
110
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Code Review Best Practice
trishagee
74
19k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
[SF Ruby Conf 2025] Rails X
palkan
0
520
Speed Design
sergeychernyshev
33
1.4k
Six Lessons from altMBA
skipperchong
29
4.1k
Code Reviewing Like a Champion
maltzj
527
40k
Mobile First: as difficult as doing things right
swwweet
225
10k
Optimizing for Happiness
mojombo
379
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building an army of robots
kneath
306
46k
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