Sobes.tech
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.