Será que este é o problema que estou enfrentando? Differences between transactions and locking - makandra dev
Observe que, quando duas transações são executadas simultaneamente em duas threads, cada thread não vê as alterações da outra transação até que elas sejam confirmadas com sucesso. No entanto, cada thread vê suas próprias alterações (esta é uma explicação simplificada; a realidade é muito mais complexa).