Sobes.tech
Junior — Middle

Resurslara təhlükəsiz və paylaşılmış giriş üçün hansı metodlar istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Android (Kotlin) üzərində korutinlərin təhlükəsiz və ümumi girişini təmin etmək üçün adətən aşağıdakı metodlar istifadə olunur:

  • Mutex kotlinx.coroutines-dan — qarşılıqlı istisna təmin edir, yalnız bir korutina eyni zamanda resursa giriş edə bilər.
  • Channel — korutinlər arasında məlumatların ötürülməsi üçün, bu birbaşa ümumi girişdən qaçmağa kömək edir.
  • Atomik əməliyyatlar — sadə hallarda, əsas dəyərləri təhlükəsiz şəkildə yeniləmək üçün.

Mutex istifadəsinin nümunəsi:

val mutex = Mutex()
var paylaşılanResurs = 0

suspend fun təhlükəsizArtım() {
    mutex.withLock {
        paylaşılanResurs++
    }
}

Bu yanaşma yarış şərtlərini qarşısını alır və korutinlərin paralel icrasında düzgün davranışı təmin edir.