Les processeurs modernes dotés de plusieurs cœurs peuvent profiter d'applications Java simultanées. Une application simultanée est celui qui exécute plusieurs opérations simultanément . Simultanéité présente des défis uniques qui doivent être traitées pour éviter les problèmes . Un problème majeur se produit lorsque deux threads d'exécution de chaque accès de la même méthode en même temps. Un fil peut interférer avec l'autre et rendre les données non fiables. Pour contrôler ce problème , vous pouvez empêcher l'accès simultané à une méthode utilisant la fonctionnalité de synchronisation de Java. Choses que vous devez Java Kit de développement logiciel avec NetBeans environnement de développement intégré (IDE) Bundle Voir Plus Instructions 1 charge l'EDI NetBeans en cliquant sur son icône du programme . Lorsque les charges de programmes , accédez au "Project New /Nouveau" et sélectionnez " Java Application " de la liste sur le côté droit de l'écran. Un nouveau fichier de code source s'affiche dans l'éditeur de texte NetBeans. Le fichier de code source contient une fonction principale vide 2 déclarer une variable nommée x statiques par écrit ce qui suit au sein de la fonction principale dans le code source : . Static int x = 0; < br > Hôtels 3 créer une méthode synchronisée en ajoutant le mot-clé " synchronisé " à la déclaration de la méthode . Une méthode synchronisée ne peut être accessible par un thread à la fois , évitant ainsi les incohérences de données. Pour déclarer une méthode nommée " nomMéthode " synchronisée, écrire la déclaration suivante dans le fichier de code source: nomMéthode public synchronized () 4 d'incrémentation d'un entier par écrit la déclaration suivante à l'intérieur des accolades de la méthode : return x + +; 5 Appelez la méthode synchronisée. Pour comprendre ce qui accomplit de synchronisation , d'abord supposons que la méthode n'a pas été synchronisé. Si deux threads parallèles appellent la méthode en même temps , ils vont augmenter chaque la variable x. Depuis x commence à 0 , le résultat d'une opération d'incrémentation sera x = 1 . C'est un problème parce que la méthode a été appelée deux fois , et donc x doit être égale à 2. Depuis " nomMéthode " est synchronisé , un seul des deux fils parallèles entrera la méthode à la fois. Un fil entrera " nomMéthode , " incrément x , et à la sortie . Cela permet au second thread pour entrer " nomMéthode " et effectuer la seconde opération d'incrémentation . Avec le mot-clé synchronisée, deux appels à " nomMéthode " résultat dans x étant égal à 2. Un appel de méthode peut être écrit comme ceci: nomMéthode ();
|