Sobes.tech
Junior — Middle

Quais métodos são usados para organizar o acesso seguro e compartilhado de coroutines a um recurso?

sobes.tech IA

Resposta da IA

Para o acesso seguro e conjunto de coroutines a um recurso em Android (Kotlin), normalmente utilizam-se os seguintes métodos:

  • Mutex do kotlinx.coroutines — garante exclusão mútua, permitindo que apenas uma coroutine aceda ao recurso de cada vez.
  • Channel — para transferência de dados entre coroutines, ajudando a evitar acesso conjunto direto.
  • Operações atômicas — para casos simples, quando é necessário atualizar valores primitivos de forma segura.

Exemplo de uso de Mutex:

val mutex = Mutex()
var recursoCompartilhado = 0

suspend fun incrementoSeguro() {
    mutex.withLock {
        recursoCompartilhado++
    }
}

Esta abordagem previne condições de corrida e garante comportamento correto na execução paralela de coroutines.