Technique de programmation où le programme consiste en plusieurs flots d’exécution parallèles en opposition à l’approche classique où il n’existe qu’un seul flot et les instructions exécutant d’une façon séquentielle stricte.

La programmation concurrente est devenue incontournable dans la conception des applications modernes. La théorie qui la sous-tend est assez ancienne (autour des années 70) et bien fondée, mais la pratique en est délicate.

Motivations pour les Processus Concurrents

  • Améliorer l’utilisation de la machine (cas monoprocesseur)
    • multiprogrammation sur main frame
    • parallélisme calcul et E.S. sur ordinateur personnel (lecture disquette, impression, accès réseau)
  • Accélérer les calculs en utilisant une architecture parallèle et lancer concurremment des sous-calculs.
  • Utiliser des architectures multiprocesseur à mémoire commune, des clusters ou des architectures réparties.
  • Créer des systèmes réactif pour répondre à des requêtes ou à des événements issus d’une application intrinsèquement concurrente ou répartie.
  • Utiliser les ressources de calcul et les composants disponibles à distance sur internet et le Web.
  • Gérer du travail coopératif et des services répartis.
  • Gérer des utilisateurs mobiles.
  • Construire des applications parallèles, concurrentes ou réparties.


Télécharger le support du cours, les exemples et les applets Java

Répondre