Kotlin Coroutinesで共有リソースに正しくアクセスする

Kotlin言語・プログラミング中級者

Kotlin Coroutinesを使えば非同期処理を比較的簡単に書けますが、それでも複数のコルーチンから共有リソースにアクセスするときには最大限の注意を払う必要があります。

例えば、あるコルーチンで変数を読み込み、その値を元になにか操作を行い、結果をもとにその変数を上書きするとします。
その間に他のコルーチンによって値が書き換わることはないでしょうか?
その結果、予期せぬ不具合を引き起こしたりしないでしょうか?

正しく共有リソースを扱うためには、MutexやStateFlowのupdate関数など、それが考慮されたAPIをうまく組み合わせる必要があります。
また、1スレッドを使い回すディスパッチャと複数スレッドを使うディスパッチャがありますが、気をつけるべき点は異なります。
このセッションではどのようなコードで注意が必要なのか、また期待通りに動作させるための方法について紹介します。 

Mori Atsushi

概要

時刻 05:20 - 05:40
場所 ルームB

同じカテゴリーのセッション

ホールAKotlin言語・プログラミング初級者
Masayuki Suda
ホールAKotlin言語・プログラミング上級者
kitakkun
ホールAKotlin言語・プログラミング中級者
T45K
ホールAKotlin言語・プログラミング初級者
Ayana Murakami