Kotlin Coroutines by Tutorialsを読んだ

Kotlin Coroutines by Tutorials (Second Edition): Mastering Coroutines in Kotlin and Android

新品価格
¥7,121から
(2020/3/3 07:44時点)


Kotlin Coroutines by Tutorials (Second Edition): Mastering Coroutines in Kotlin and Android
を読んだ

マスタカと言えばAndroidエンジニア
さらに英語を勉強中!!!
そんなわけで都合良いと思って技術書を英語で読んでみた


・本書の内容
coroutineを説明した本
ただcoroutineだけでなく、いろんな非同期処理を全部説明して
coroutineがいかに優れているか比較して書く形になっててすごく読みやすい
さらに英語が難しくないので読みやすかった
本書を読めばAndroidでcoroutineを使えるようになるかと思います

ただし、値段はすごく高いw

ここからはためになったことを書いていく

・キューとパイプラインの違い
キュー:ファーストフードのレストラン待ち行列みたいなイメージ
パイプライン:工場のベルトコンベアみたいに物がずっと流れてる状態

・join
coroutineの実行を待つ

・バイトコードの見方
AndroidStudioで
Tool→Kotlin→Show Kotlin→ByteCode
でバイトコードが見れる

・コールバックメソッドの置き換え
コールバックのため関数渡しすると思うけど
suspendCoroutine
で包むと簡単にcoroutine化できる
resume
resumeWithException
で値を返却できる

・Javaで非同期
JavaはcoroutineがないのでFutureを使うのが一つの案とのこと

・エラーハンドリング
try-catchもできるけど
CoroutineExceptionHandlerを定義して
実行時のcontextに割り当てることもできる
val coroutineContext = Dispatcher.Default + CoroutineExceptionHandler
になるのが面白いね

try-catchの場合は実行時にハンドリングする必要があるので
awaitのところでラップする必要がある

・タイムアウト
withTimeoutで囲う

・DefaultLifecycleObserver
実装するとonResume等のタイミングで自動で読んでくれるクラスを作れる

・coroutinieのデバック有効化
-Dkotlinx.coroutines.debug
するか
System.setProperty(“kotlinx.coroutines.debug”, “on”)

こうするとスレッド名が追いやすくなるとのこと

 

本書は大変ためになりました
Androidエンジニアなら読むと面白いと思うのでオススメです

関連記事:

Pocket