Junior — Middle
Koje metode se koriste za organizovanje sigurnog zajedničkog pristupa korutina jednom resursu?
sobes.tech АИ
Одговор од АИ
Za siguran zajednički pristup korutinama do resursa u Androidu (Kotlin), obično se koriste sledeće metode:
- Mutex iz kotlinx.coroutines — obezbeđuje uzajamno isključivanje, dozvoljavajući samo jednoj korutini istovremeno pristup resursu.
- Channel — za prenos podataka između korutina, što pomaže da se izbegne direktan zajednički pristup.
- Atomičke operacije — za jednostavne slučajeve, kada je potrebno sigurno ažurirati primitivne vrednosti.
Primer korišćenja Mutex:
val mutex = Mutex()
var deljeniResurs = 0
suspend fun sigurnoPovećanje() {
mutex.withLock {
deljeniResurs++
}
}
Ovaj pristup sprečava trkačke uslove i obezbeđuje ispravno ponašanje pri paralelnom izvršavanju korutina.