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; } 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 .
|