Kotlin Coroutines by Tutorials (Second Edition): Mastering Coroutines in Kotlin and Android 新品価格 |
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エンジニアなら読むと面白いと思うのでオススメです
関連記事:
- iOS 15 Programming Fundamentals with SwiftのI-5とI-6を読んだので不明点をまとめる
- Javaで複数のエラーを1つのcatchで補足する
- DroidKaigi2019 Day1の感想