Bonjour à toutes et à tous,
J'ai une application web qui permet de faire pleins de trucs dont l'insertion de données en base.
Au niveau de l'implémentation de la méthode d'insertion, il y a un bloc synchronized qui contient des instructions "critiques" qui ne doivent être exécutées que par un seul thread à la fois.
Je ne peux pas donner le code car c'est confidentiel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public void inserer(Personne personne, Connection connexion){ //des instructions synchronized (MaClasse.class) { //instructions critiques } }
Ma question est : normalement le bloc synchronized est censé gérer l'accès concurrent des threads, et donc être exécuté à la fois par un seul thread et faire attendre les autres. Le comportement que j'ai remarqué est que l'application se plante au niveau du mot synchronized, elle n'entre même pas dans le bloc, est-ce un comportement normal ? Quelles sont les raisons possibles pour un tel comportement ?
Merci
Partager