Qualunque sia il linguaggio di programmazione e qualunque sia il database, il concetto dovrebbe essere lo stesso:
Ho 2 thread, ognuno dei quali blocca alcune entità di database e inserisce nuovi dati nel database.
Supponiamo che il fatto che quei thread siano eseguiti simultaneamente può causare eccezioni deadlock.
Ovviamente, l'azione principale che possiamo fare prima di tutto è analizzare il codice in profondità per trovare una buona alternativa evitando qualsiasi deadlock.
Ma a volte, non possiamo davvero evitarli.
Devo rilevare l'eccezione e riprovare il processo in questione?
A prima vista, sarebbe accettabile, ma ... e se i processi in conflitto venissero riprodotti contemporaneamente, di nuovo altri deadlock (il serpente si morde la coda)?
Che cosa è un buon modo per assicurarsi che i processi abbiano esito positivo?