Le langage de programmation Java permet aux programmeurs d'écrire du code qui sera exécuté en parallèle sur différents threads . Si l'ordinateur possède plus d'un cœur de processeur , les discussions vont vraiment fonctionner en parallèle , sinon , le processeur sera multiplexée sur tous les threads exécutables . Lorsque plusieurs threads fonctionnent sur la même ressource partagée , le code résultant ne peut être correct si un seul thread à la fois fonctionne sur cette ressource. Méthodes synchronisées sont garantis pour préserver cette propriété: à un moment donné , tout au plus , un exemple d'une méthode synchronisée est autorisé à utiliser la ressource. Instructions 
 1 
 déclarer une classe distincte qui contiendra le code synchronisée , comme dans l' exemple de code suivant : 
 
 SynchronizationExample publique de la classe () { 
 
 } 
 Page 2 
 déclarer la ressource partagée en tant que membre de la classe «privée» , comme dans l' exemple de code suivant : 
 
 SynchronizationExample public class () { 
 
 privé int AccountBalance = 0; Photos 
 } 
 3 
 de déclarer les méthodes qui fonctionnent sur la ressource partagée en utilisant le mot-clé " synchronisé " , comme dans l' exemple de code suivant : 
 
 SynchronizationExample public class () { 
 
 private int AccountBalance = 0; 
 
 publique synchronisé vide dépôt (int montant ) { 
 
 AccountBalance = AccountBalance + montant; 
 < p >} 
 
 publique retrait synchronized void (int montant ) { 
 
 AccountBalance = AccountBalance - montant; 
 
 } } 
 
 
 
 Depuis ils sont synchronisés , les méthodes «dépôt» et «retrait» ne seront pas exécutées en parallèle, si l'on doit commencer lorsque l'autre est exécuté, il devront attendre le premier à démarrer terminée. Cela rend les modifications à ressource partagée " AccountBalance " thread-safe .