OSS探訪GitHubでログイン

Kotlinで非同期処理と並行処理を構造化して扱う公式ライブラリ

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
13,818
主要言語
Kotlin
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02
ページ内ナビ

概要

kotlinx.coroutinesは、Kotlinで非同期処理と並行処理を構造化して記述するための公式ライブラリです。軽量なコルーチン、キャンセル可能なJobとDeferred、非同期ストリームのFlow、Channelや同期プリミティブを提供します。JVMに加えてJS、Wasm/JS、Nativeを含むマルチプラットフォーム構成にも対応します。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

処理の寿命、キャンセル、データの流れを共通APIで組み立てる

launchとasyncで処理を開始し、coroutineScopeやsupervisorScopeで子処理の寿命と失敗の伝わり方を管理できます。Flowは収集時に処理を開始する非同期ストリーム(cold stream)とmap、filterなどの演算子を提供し、Channel、Mutex、Semaphoreは処理間の通信や同期を支えます。テスト用のrunTestとTestScope、稼働中のコルーチンを調べるDebugProbesも別モジュールとして利用できます。

出典:[1]

向いている用途

待ち時間のある処理や継続的な状態更新を安全にまとめたい場合に向く

ネットワークやファイル入出力を含む処理、UIの状態更新、複数の非同期処理を一つの操作単位としてキャンセルしたいアプリに向きます。Reactive Streams、RxJava、Reactor、CompletableFutureなど既存の非同期APIとKotlinのsuspend関数やFlowを橋渡ししたい場合にも適しています。

出典:[1]

導入前の確認

対象環境のディスパッチャーと版ごとの互換性変更を確認する

UIスレッドなどへ処理を割り当てるDispatchers.MainはAndroid、Swing、JavaFXなどで対応する実行時依存関係が必要です。安定版1.11.0はKotlin 2.2.20向けで、JSとWasm/JSのPromise関連API移動、例外報告方法の変更、非推奨APIの進行を含みます。更新時はCHANGELOGを確認し、構造化された処理範囲、キャンセル、例外処理を呼び出し側で明示してください。ライセンスはApache-2.0です。

出典:[1][2][3][4]

参考にした公式資料

  1. [1]Kotlin/kotlinx.coroutines — README 1.11.0(2026-10-04)
  2. [2]Kotlin/kotlinx.coroutines — CHANGELOG 1.11.0(2026-10-04)
  3. [3]kotlinx.coroutines 1.11.0 release(2026-10-04)
  4. [4]Kotlin/kotlinx.coroutines — LICENSE(2026-10-04)
編集部からの補足

非同期処理を単なるコールバック置換ではなく、キャンセル可能な処理階層として設計できる点に注目しました。導入時は利用先ごとのディスパッチャーと例外伝播、ライブラリ版とKotlin版の対応を先に確認してください。

3ステップで試す

  1. 1

    依存関係を追加する

    Kotlin 2.2.20を使う既存のKotlin/JVM Gradleプロジェクトで、dependenciesブロックへ追加し、repositoriesにmavenCentral()があることを確認します。

    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0")
  2. 2

    コルーチンAPIを読み込む

    最小例を置くKotlinファイルの先頭に追加します。

    import kotlinx.coroutines.*
  3. 3

    子コルーチンを実行する

    実行すると親スコープが子処理の完了を待ち、2つのメッセージが順に表示されます。

    suspend fun main() = coroutineScope { launch { delay(1000); println("Kotlin Coroutines World!") } println("Hello") }
公式READMEで確認

成長

成長の推移 · 直近30日

13,818 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
2
Open PR
43

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • kotlin
  • coroutines
  • async
Stars
13,818
Forks
1,950
Watchers
290
Open Issues
301
Contributors
308
所有者種別
Organization
主要言語
Kotlin
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?