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
RxJava: Which thread is running
Search
Samuel Huang
December 27, 2018
Programming
1
220
RxJava: Which thread is running
Android Taipei - Lightning Talk
Samuel Huang
December 27, 2018
Tweet
Share
Other Decks in Programming
See All in Programming
童醫院敏捷轉型的實踐經驗
cclai999
0
180
Gleamという選択肢
comamoca
6
760
GraphRAGの仕組みまるわかり
tosuri13
7
480
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
130
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
210
エンジニア向け採用ピッチ資料
inusan
0
160
FormFlow - Build Stunning Multistep Forms
yceruto
1
190
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
140
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
110
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
390
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
230
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
46
30k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Documentation Writing (for coders)
carmenintech
71
4.9k
Raft: Consensus for Rubyists
vanstee
140
7k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
GraphQLとの向き合い方2022年版
quramy
47
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
It's Worth the Effort
3n
185
28k
What's in a price? How to price your products and services
michaelherold
246
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Transcript
Private & Confidential RxJava: Which thread is running Samuel Huang
Private & Confidential 下載與處理資料的執行緒
Private & Confidential SubscribeOn
Private & Confidential ObserveOn
Private & Confidential taskSynchronizedObservable() .map(processData()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(subscribeOnNext());
Private & Confidential taskNetworkObservable() .map(processData()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(subscribeOnNext());
Private & Confidential SubscribeOn 指定 observable 工作的執行緒 但通知observer(onNext)的執行緒不一定相同
Private & Confidential private Observable<Void> taskNetworkObservable() { return Observable.create(emitter ->
{ runOnUiThread(() -> { emitter.onNext(null); emitter.onCompleted(); }); }, Emitter.BackpressureMode.NONE); }
Private & Confidential taskNetworkObservable() .subscribeOn(Schedulers.io()) .observeOn(Schedulers.io()) .map(processData()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(subscribeOnNext());
Private & Confidential 使用ObserveOn確保 observer(onNext)在特定執行緒呼叫
Private & Confidential Thank you