[Synchronization] Plusieurs façon de faire de la synchronization
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:
1 2 3 4 5
| MaClasse{
public synchronized toto(){
// blabla
}
} |
Code:
1 2 3 4 5 6 7
| MaClasse{
public toto(){
synchronized(this){
//blabla
}
}
} |
Dans un main:
Code:
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.