Kotlin 1.3 で使えるようになるコルーチンについてドキュメントを読んでまとめました。 基本的に公式ドキュメントの訳ですが、 ところどころコードを変更して実行した実験結果など追加しています。
Kotlin は言語として、 他の様々なライブラリがコルーチンを利用できるようにするために 標準ライブラリでは最小限の低レベルな API しか提供しません。 他の多くの言語とは異なり、 async
, await
は Kotlin のキーワードではなく、 また標準ライブラリにもありません。 更に、 Kotlin の サスペンディグファンクション (停止関数) の概念は、 futures
や promises
よりも、 非同期実行について より安全でエラーの起こりにくい抽象化です。
kotlinx.coroutines
は JetBrains によって開発されたコルーチンのリッチライブラリで、 launch
, async
など、 このガイドがカバーしている 数多くの ハイレベル な コルーチン実行可能な基本実装を含んでいます。
下の記事では、 kotlinx.coroutines
の基本的な機能について例を交えて解説しています。
コルーチンを利用するためには kotlinx-coroutines-core
を追加する必要があります。
- コルーチンの基本
- サスペンディングファンクション(停止関数)の生成
- キャンセルとタイムアウト
- コンテキストとディスパッチャ
- 例外
- 例外の扱い方
- スーパバイザ (監督)
Kotlin 1.3 より前のドキュメントについても読んでみました。