Bonjour,
J'ai cherché sur internet et je pense détenir la bonne réponse, mais je voulais avoir confirmation.
Donc, lorsque dans une classe, on déclare une méthode "synchronized", cela signifie que l'on pose un verrou sur l'objet qui comporte cette même méthode.
Finalement les solutions ci-dessous sont identiques:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MaClasse{ public synchronized toto(){ // blabla } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 MaClasse{ public toto(){ synchronized(this){ //blabla } } }
Dans un main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 MaClasse o = new MaClasse(); synchronized(o){ o.toto(); // ou la méthode n'est pas du tout synchronized }
J'attends vos validations pour me dire que j'ai compris .
Bonne journée à tous,
Cordialement.
Partager