Sobes.tech
Junior — Middle

Comment peut-on modifier la valeur d'un champ à l'intérieur d'une fonction suspendue en Kotlin?

sobes.tech IA

Réponse de l'IA

En Kotlin, à l’intérieur d’une fonction suspend, il est également possible de modifier les valeurs des champs comme dans des fonctions normales, à condition que le champ soit accessible en écriture (var ou mutable). L’essentiel est de se rappeler qu’une fonction suspend peut être suspendue et reprise, donc lors de la manipulation d’états mutables partagés, il faut prendre en compte la concurrence et la synchronisation.

Exemple de modification d’un champ dans une fonction suspend :

class Exemple {
    var compteur = 0

    suspend fun incrementer() {
        // Il est sûr de modifier le champ
        compteur += 1
    }
}

Si le champ appartient à un objet accessible depuis plusieurs coroutines, il est recommandé d’utiliser des mécanismes de synchronisation, comme Mutex de kotlinx.coroutines, pour éviter les conditions de course.