Kotlin 1.3: コルーチン


Kotlin 1.3 で使えるようになるコルーチンについてドキュメントを読んでまとめました。 基本的に公式ドキュメントの訳ですが、 ところどころコードを変更して実行した実験結果など追加しています。

Kotlin は言語として、 他の様々なライブラリがコルーチンを利用できるようにするために 標準ライブラリでは最小限の低レベルな API しか提供しません。 他の多くの言語とは異なり、 async, await は Kotlin のキーワードではなく、 また標準ライブラリにもありません。 更に、 Kotlin の サスペンディグファンクション (停止関数) の概念は、 futurespromises よりも、 非同期実行について より安全でエラーの起こりにくい抽象化です。

kotlinx.coroutines は JetBrains によって開発されたコルーチンのリッチライブラリで、 launch, async など、 このガイドがカバーしている 数多くの ハイレベル な コルーチン実行可能な基本実装を含んでいます。

下の記事では、 kotlinx.coroutines の基本的な機能について例を交えて解説しています。

コルーチンを利用するためには kotlinx-coroutines-core を追加する必要があります。

Kotlin 1.3 より前のドキュメントについても読んでみました。