Junior — Middle
Jaké metody se používají k organizaci bezpečného sdíleného přístupu korutin k jednomu zdroji?
sobes.tech AI
Odpověď od AI
Pro bezpečný společný přístup korutin ke zdroji v Androidu (Kotlin) se obvykle používají následující metody:
- Mutex z kotlinx.coroutines — zajišťuje vzájemné vyloučení, umožňuje pouze jedné korutině současně přístup ke zdroji.
- Channel — pro přenos dat mezi korutinami, což pomáhá zabránit přímému sdílenému přístupu.
- Atomické operace — pro jednoduché případy, kdy je třeba bezpečně aktualizovat primitives.
Příklad použití Mutex:
val mutex = Mutex()
var sdílenýZdroje = 0
suspend fun bezpečnéZvýšení() {
mutex.withLock {
sdílenýZdroje++
}
}
Tento přístup zabraňuje závodním podmínkám a zajišťuje správné chování při paralelním provádění korutin.