Sobes.tech
Junior — Middle

Pode explicar o que se entende por operação atómica ao trabalhar com bases de dados ou em programação multithread?

sobes.tech IA

Resposta da IA

Uma operação atómica é uma operação que é executada totalmente ou não é executada, sem estados intermédios. Em bases de dados, isso significa que uma transação termina com sucesso e todas as alterações são confirmadas, ou em caso de erro, todas as alterações são revertidas, garantindo a integridade dos dados.

Na programação multithread, a atomicidade garante que a operação sobre recursos partilhados (por exemplo, incrementar uma variável) seja realizada como uma ação indivisível, prevenindo condições de corrida e inconsistências nos dados.

Exemplo de uma operação atómica em Swift usando uma propriedade atómica:

import Foundation

class Counter {
    private let queue = DispatchQueue(label: "counter.queue")
    private var _value: Int = 0

    var value: Int {
        return queue.sync { _value }
    }

    func increment() {
        queue.sync {
            _value += 1
        }
    }
}

Aqui, o incremento ocorre numa fila sincronizada, o que torna a operação atómica.