L'application se plante au niveau de la déclaration du bloc Synchronized
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.
Code:
1 2 3 4 5 6 7 8 9 10
|
public void inserer(Personne personne, Connection connexion){
//des instructions
synchronized (MaClasse.class) {
//instructions critiques
}
} |
Je ne peux pas donner le code car c'est confidentiel.
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