Junior — Middle
Aké metódy sa používajú na organizáciu bezpečného zdieľaného prístupu korutín k jednému zdroju?
sobes.tech AI
Odpoveď od AI
Pre bezpečný spoločný prístup korutín ku zdroju v Android (Kotlin) sa zvyčajne používajú nasledujúce metódy:
- Mutex z kotlinx.coroutines — zabezpečuje vzájomné vylúčenie, umožňujúc len jednej korutíne súčasne prístup ku zdroju.
- Channel — na prenos dát medzi korutinami, čo pomáha vyhnúť sa priamej spoločnej prístupu.
- Atómové operácie — pre jednoduché prípady, keď je potrebné bezpečne aktualizovať primitívne hodnoty.
Príklad použitia Mutex:
val mutex = Mutex()
var zdieľanýZdroj = 0
suspend fun bezpečnéZvýšenie() {
mutex.withLock {
zdieľanýZdroj++
}
}
Tento prístup zabraňuje súťažným podmienkam a zabezpečuje správne správanie pri paralelnom vykonávaní korutín.