Le block d'instruction est ininterruptible par toute instruction qui essaierai d'accéder à l'objet sur lequel porte la condition.
synchronized(compte){ aux = compte; aux = aux + 10; compte = aux; }
Intuitivement, ce block d'instruction s'exécute ainsi :
{ compte.wait(); aux = compte; aux = aux + 10; compte = aux; compte.signal(); }
Les méthodes wait() et signal() étant applicables sur des objets synchronisés
Attention, pour ne pas avoir de problèmes, il faut que tous les threads qui manipulent compte
le fasse dans un block synchronisé.