Bonjour à tous,

J'espère poster dans la bonne section. Voici mon problème. Je développe actuellement un programme de récupération des emails avec insertion dans une base de données PostgreSQL. J'utilise le multithreading pour pouvoir améliorer les performances, et extraire les message de plusieurs utilisateurs en même temps.
Mon soucis et qu'il m'arrive d'avoir une incohérence dans ma base de données du fait du multithreading. Par exemple, j'ai dans ma table 60 messages, il arrive parfois qu'a la même seconde, mes 2 threads font une requete pour compter le nombre de messages dans la table avant insertion, et du coup, insère le même n°ID dans ma table

J'espère que je suis assez claire dans ma description, car c'est vraiment un phénomène bizarre que je n'arrive pas à comprendre.

Avez vous une théorie pour contrer ce problème ?

Merci à tous.