0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Android】CoroutineのJobについて【Kotlin】

Posted at

はじめに

今回はCoroutineのJobという機能について調べたものを記事にします
箇条書きにしていてわかりにくいとは思いますが、使いながら理解を深めていこうと思っているのでご容赦ください

まとめ内容

Jobのできることを箇条書きにしてまとめたものです
・親子階層で配置することができ、親が取り消されると 子のロジックも取り消される
・SupervisorJobを使用してカスタマイズできる機能で、CancellationException以外の例外で子が失敗するとその親がキャンセルされる(結果 全ての子がキャンセルされる)
・基本的にはJob を実行しても値を出すことはできない

・Jobの状態は New,Active,Completing,Cancelling(キャンセル中),Cancelled (キャンセル済み),Completed の6つの状態が存在する

・Jobはアクティブな状態で作成され開始されます。
・またstartまたはjoinを呼び出すことによってアクティブにすることもできます。

job.start()
job.join()

・コルーチンが動いている間、またはCompletableJobが完了するまで、または失敗するか取り消されるまで、Jobはアクティブな状態

・Jobはいつでもキャンセル可能

job.cancel()

・アクティブなCoroutineの本体が完了するか、CompletableJob.complete が呼び出されると、Jobが完了状態になる

参考資料

kotlinx.coroutines 1.6.4

Android デベロッパー

おわりに

Coroutineの一つの機能でJobについてまとめました
Coroutineは便利な機能ですがやはり、使いこなすにはもう少し知識が必要だと思いました
別の機能についてもまた、記事にしていこうと思います!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?