Junior — Middle
Como é que se pode alterar o valor de um campo dentro de uma função suspend em Kotlin?
sobes.tech IA
Resposta da IA
Em Kotlin, dentro de uma função suspend, também é possível modificar os valores dos campos da mesma forma que em funções normais, desde que o campo seja acessível para escrita (var ou mutable). O principal é lembrar que uma função suspend pode ser pausada e retomada, portanto, ao trabalhar com estados mutáveis compartilhados, deve-se considerar a concorrência e a sincronização.
Exemplo de modificação de um campo dentro de uma função suspend:
class Exemplo {
var contador = 0
suspend fun incrementar() {
// Pode modificar o campo com segurança
contador += 1
}
}
Se o campo pertence a um objeto acessível de várias corrotinas, recomenda-se usar mecanismos de sincronização, como Mutex do kotlinx.coroutines, para evitar condições de corrida.