Open8
読者コミュニティ|詳解 Kotlin Coroutines [2021]
詳解 Kotlin Coroutines [2021]の感想や質問をお気軽にコメントしてください。
また、Chapter 05 「おわりに」に読者用アンケートを設置しています。回答して頂けると幸いです。
以下の章を加筆しました。ご了承下さい。
- 5.5. キャンセルを意識した実装
- 5.6. 他のCoroutineに実行を譲る
- 参考文献
6.5. bufferとconflate の記述に間違いがありましたので、お詫びして訂正します。
報告ありがとうございました。
- これは、`buffer(1, BufferOverflow.DROP_LATEST)` と同じ挙動です。
+ これは、`buffer(1, BufferOverflow.DROP_OLDEST)` と同じ挙動です。
「9.2. Semaphoreで並行数制御」に表記ミスがありました。アンケートでの報告ありがとうございました。
- `Mutext`を使うことで、ブロック内を同時に1件のみ実行するよう制御することができました。
+ `Mutex`を使うことで、ブロック内を同時に1件のみ実行するよう制御することができました。
Chapter 07の見出しに間違いがあったので修正しました。
- 7.2. sharedInでストリームを共通化
+ 7.2. shareInでストリームを共通化
8.1. Channelで値を送受信のサンプルコードに間違いがあったので修正します。
private val _events = Channel<Event>()
- val events: ReceiveChannel = _events
+ val events: ReceiveChannel<Event> = _events
5.5. キャンセルを意識した実装に表記ミスがあったので、修正します。
- isActiveをチェックし、キャンセル時の処理を自分で書く代わりに、sureActiveを使うことができます。sureActiveは既にキャンセルされていた場合にCancellationExceptionを吐きます。
+ isActiveをチェックし、キャンセル時の処理を自分で書く代わりに、ensureActiveを使うことができます。ensureActiveは既にキャンセルされていた場合にCancellationExceptionを吐きます
6.7. launchInでネストを減らす に表記ミスがあったため、修正しました。
- `launch`と`onEach`を使うことで、ネストを1つ減らすことができます。個人的には、こちらの書き方をすることが多いです。
+ `launchIn`と`onEach`を使うことで、ネストを1つ減らすことができます。個人的には、こちらの書き方をすることが多いです。