US

Introduction

On sait maintenant écrire des programmes concurrents basiques, c'est-à-dire des programmes qui sont destinés à exécuter plusieurs instructions en même temps. On va commencer à voir, avec ce chapitre, qu'on n'écrit pas un programme concurrent n'importe comment, sans quoi on fera très vite face à de nombreux problèmes.

Dans ce chapitre, on va voir les différents problèmes qui peuvent survenir lorsque plusieurs threads vont se partager un objet et vont vouloir effectuer en même temps des opérations sur cet objet partagé. Des problèmes de cohérence peuvent apparaitre, mais également des corruptions de l'état de cet objet.

Une solution pour gérer ces problèmes consiste à utiliser la synchronisation de threads. Ce mécanisme du langage Java permet d'organiser les threads de manière à ce que, pour certaines parties du programme, plusieurs threads ne soient pas en même temps en train d'exécuter ces parties de programme. Mais comme on le verra, ce mécanisme, mal utilisé, va introduire un nouveau problème : les deadlocks. Il s'agit de situation où le programme est bloqué et plus aucune instruction ne pourra être exécutée.

Enfin, on terminera le chapitre en voyant les différents niveaux de sécurité résumés par Joshua Bloch. Ces niveaux permettent de définir dans quelle mesure on va pouvoir utiliser les objets ayant un certain niveau de manière plus ou moins sure dans une application concurrente.

Plan du chapitre

  1. Objet partagé
  2. Synchronisation
  3. Deadlock
  4. Niveau de sécurité
Chapitre 2
  • Espace membre
  • Learning Center
  • Les forums
  • Livre d'or
  • Imprimer
  • Boutique
  • Info
  • Règlement
  • Erreur
  • Newsletter

MyPagerank.Net

Firefox 3.6

Browse Happy logo

Open Clip Art Library

Join our Facebook Group

Twitter

Copyright © 2000-2017 UKO. Toute reproduction strictement interdite sans autorisation du webmaster

Valid XHTML 1.1 !
Valid CSS2 !
Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0
ICRA Internet Content Rating Association
Creative Commons License
Site optimisé pour Firefox avec une résolution 1024x768 --- Page chargée en 0.0671890 secondes --- This site uses Thumbshots previews