Open8

読者コミュニティ|詳解 Kotlin Coroutines [2021]

Mori AtsushiMori Atsushi

以下の章を加筆しました。ご了承下さい。

  • 5.5. キャンセルを意識した実装
  • 5.6. 他のCoroutineに実行を譲る
  • 参考文献
Mori AtsushiMori Atsushi

「9.2. Semaphoreで並行数制御」に表記ミスがありました。アンケートでの報告ありがとうございました。

- `Mutext`を使うことで、ブロック内を同時に1件のみ実行するよう制御することができました。
+ `Mutex`を使うことで、ブロック内を同時に1件のみ実行するよう制御することができました。
Mori AtsushiMori Atsushi

Chapter 07の見出しに間違いがあったので修正しました。

- 7.2. sharedInでストリームを共通化
+ 7.2. shareInでストリームを共通化
Mori AtsushiMori Atsushi

8.1. Channelで値を送受信のサンプルコードに間違いがあったので修正します。

private val _events = Channel<Event>()
- val events: ReceiveChannel = _events
+ val events: ReceiveChannel<Event> = _events
Mori AtsushiMori Atsushi

5.5. キャンセルを意識した実装に表記ミスがあったので、修正します。

- isActiveをチェックし、キャンセル時の処理を自分で書く代わりに、sureActiveを使うことができます。sureActiveは既にキャンセルされていた場合にCancellationExceptionを吐きます。
+ isActiveをチェックし、キャンセル時の処理を自分で書く代わりに、ensureActiveを使うことができます。ensureActiveは既にキャンセルされていた場合にCancellationExceptionを吐きます

Mori AtsushiMori Atsushi

6.7. launchInでネストを減らす に表記ミスがあったため、修正しました。

- `launch`と`onEach`を使うことで、ネストを1つ減らすことができます。個人的には、こちらの書き方をすることが多いです。
+ `launchIn`と`onEach`を使うことで、ネストを1つ減らすことができます。個人的には、こちらの書き方をすることが多いです。