Nous expérimentons avec un conflit de régularité sur une table de base de données, et nous souhaitons évaluer un certain nombre d'options différentes pour résoudre ce problème. Pour ce faire, j'ai besoin de reproduire dans un cas de test, une contention sur une table (n'importe quelle table) avec une fiabilité reproductible. L'approche que je considère serait d'inverser la sémantique d'un verrou (par exemple java.util.concurrent.locks.ReentrantLock
) et de libérer le verrou lorsque l'écriture sur la table commence, permettant à toutes les lectures de se produire au moment où l'écriture commence. Par conséquent, un thread d'écriture maintient le verrou jusqu'à peu avant d'insérer une insertion dans une table et libère ensuite le verrou, plusieurs threads de lecture tentant d'exécuter des instructions select sur la même table. Je me demandais s'il y avait des idées sur une telle approche, ou s'il y a une approche plus simple qui pourrait, avec une fiabilité de 100%, reproduire la contention sur une table db.Nous reproduisons de façon fiable la contention db
grâce
bonne idée! en donnant un coup de feu .... –
fonctionne comme un charme :-) –
Awesome. Content de l'entendre. –