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.