SYNCHRONIZED |
Synchronisé |
---|---|
Java |
Syntaxe
synchronized definition; |
synchronized (expression) statement; |
Paramètres
Nom | Description |
---|---|
definition | Ce paramètre permet d'indiquer la méthode à synchroniser. |
expression | Ce paramètre permet d'indiquer une expression a résoudre sous forme d'objet ou de tableau. |
statement | Ce paramètre permet d'indiquer un code critique pour une section, généralement situé entre «{» et «}». |
Description
Ce mot réservé permet de rendre fonctionnelle une classe de manière multi-tâche ou multi-processus.
Remarques
- Comme Java est un système multi-processus, il faut souvent éviter que plusieurs processus léger ne modifient simultanément des objets de manière à ne pas altérer l'état de l'objet. Les sections de code ne devant pas être exécutées simultanément sont appelées «sections critiques». Le Java fournit l'instruction synchronized pour protéger ces sections critiques.
- L'instruction synchronized tente d'acquérir un verrou exclusif pour l'objet ou le tableau spécifié par expression. Il n'exécute pas la section de code critique tant qu'il ne peut pas obtenir ce verrou, et s'assure ainsi qu'aucun autre processus léger ne peut exécuter la section en même temps.
- Notez qu'il n'est pas nécessaire d'utiliser l'instruction synchronisée à moins que votre programme ne crée plusieurs processus léger partageant des données. Si un seul processus léger accède à une structure de données, il n'est pas nécessaire de la protéger avec des données synchronisées.
Exemple
Cet exemple permet de montrer l'exécution classique :
Dernière mise à jour : Mercredi, le 11 janvier 2017