Cours : programmation concurrente

La vie est ainsi faite, qu'il faut avoir plusieurs cordes à son arc. C'est pour cela que ce cours aborde la synchronisation entre processus thread d'un point de vue théorique à l'aide de la logique temporelle et de l'outil LTSA, d'un point de vue pratique en Java ou C/C++ (si vous suivez le lien indiqué pour chaque langage, vous verrez son taux de popularité. Nous aurions aussi put aborder la synchronisation dans les langages C# (cf. cours .Net) ou Objective-C remis au gout du jour grâce à l'iPhone/iPad (comparatif complet).

Si vous connaissez les principes du cours, il ne vous sera pas difficile de proposer des schémas de synchronisation dans les langages que vous aurez à utiliser au cours de votre carrière. L'examen peut proposer des exercices de synchronisation pour des langages non vus en cours. A vous de vous adapter.

Le programme semaine par semaine

  1. Programmation parallèle et concurrente - Introduction
  2. Processuss parallèle et concurrent
  3. Accès aux ressources partagées, les bonnes pratiques
  4. Les principaux outils de la synchronisation
  5. Les maux de la programmation concurrente
  6. Les maux de la programmation concurrente (suite)
  7. Les threads posix
  8. La synchronisation par sémaphore
  9. La synchronisation par sémaphore
  10. En l'absence de mémoire commune
  11. En l'absence de mémoire commune
  12. En l'absence de mémoire commune