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.