Lorsque vous avez une méthode telle que:Bloc synchronisé équivalent à la méthode statique synchronisée?
public synchronized void addOne() {
a++;
}
il est équivalent à ce qui suit: (corrigez-moi si je me trompe)
public void addOne() {
synchronized(this) {
a++;
}
}
Mais quel est l'équivalent à ce qui suit méthode ?:
public static synchronized void addOne() {
a++;
// (in this case 'a' must be static)
}
Qu'est-ce qu'un bloc synchronisé qui agit même comme méthode synchronisée statique? Je comprends que la méthode statique synchronisée est synchronisée sur la classe et non sur l'instance (puisqu'il n'y a pas d'instance), mais quelle est la syntaxe pour cela?
double possible de [Java méthodes synchronisées: verrouillage sur l'objet ou la classe] (http://stackoverflow.com/questions/437620/java-synchronized-methods-lock-on-object-or-class) Eh –
, mais cette question n'a pas l'extrait de code que Quartermeister a signalé. Je pense que c'est distinct et bon à avoir sous la main. – Ricket