Le résultat de la concurrence d'accès ou se méfier du multi-threading

13 août 2006

Il faut le répéter, les servlets sont par essence 'multi-thread'. Une seule instance de chaque servlet est créée par le conteneur web.

Lors de la phase de développement, les problèmes ne se voient pas forcément. Par contre, au moment de déployer l'application, surgissent des comportements inexpliqués : Alors voilà, pour illustrer la concurrence d'accès plutôt que d'en parler, j'ai décidé de vous le montrer.

Cette application, apparemment assez simple, se contente d'afficher deux fois le même compteur, puis incrémente le compteur.

Lorsque vous faites pointer plusieurs navigateurs sur l'application, vous assistez à la désynchronisation du compteur ; celà prouve qu'entre deux affichages, un autre thread a modifié l'état de celui-ci.

tester l'application.

télécharger le projet de l'application (Eclipse 3.1 + WebTools 1.0M8 en téléchargement sur ce site).



Les commentaires sont clos.