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 .