Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 4 — Threads

3. Pourquoi utiliser plusieurs threads

LECTURE 06 / 193 repèresSynthèse avec omissions acceptées

3. Pourquoi utiliser plusieurs threads

3.1 Avantages

Une application multithread peut gagner en :

  1. réactivité — une activité lente n’immobilise pas nécessairement l’interface ou le serveur;
  2. partage — les travailleurs accèdent directement aux structures communes;
  3. économie — les ressources du processus ne sont pas recréées pour chaque activité;
  4. extensibilité — des threads indépendants peuvent être placés sur plusieurs cœurs.

Un serveur illustre bien ce modèle : un thread principal accepte les requêtes et remet chacune à un travailleur. L’acceptation des nouvelles connexions peut continuer pendant le traitement des précédentes.

Les diapositives citent un ancien exemple Solaris où la création d’un processus était environ trente fois plus lente que celle d’un thread. Il s’agit d’un ordre de grandeur propre à cet environnement, non d’une constante portable.

3.2 Concurrence et parallélisme

La concurrence signifie que plusieurs activités progressent pendant une même période. Sur un seul cœur, elles peuvent être entrelacées sans s’exécuter exactement au même instant. Le parallélisme signifie que plusieurs activités s’exécutent simultanément sur plusieurs unités de calcul.

Deux formes sont distinguées :

  • parallélisme de données : appliquer un traitement comparable à différentes portions d’un ensemble;
  • parallélisme de tâches : exécuter simultanément des opérations différentes.

Un nombre élevé de threads ne garantit aucun gain. Il faut découper les tâches, équilibrer leur durée, répartir les données, résoudre les dépendances et recomposer les résultats. La journalisation aide à diagnostiquer une exécution variable, mais elle ne remplace pas une synchronisation correcte.

Retour au sommaire de l’unitéHaut de page
Récupérer manuellement les données locales

Copier séparément les données ci-dessous dans des fichiers texte avant de fermer la page ou de modifier le stockage. Une valeur illisible ou incompatible reste en place. Aucun effacement ni rétablissement écrasant n’est effectué automatiquement. L’export/import JSON est disponible sur la page Progression du cours. Cette récupération séparée reste utile pour une valeur brute ou un conflit.

Clé de ce cours : . Format v1 porté par cette clé; dates UTC et identifiants durables.

Si l’accès est refusé, la valeur persistée peut rester inaccessible. Réautoriser le stockage dans le navigateur puis rouvrir ce cours permet de la relire. Une réinitialisation exige une décision explicite après récupération; aucune commande de suppression n’est proposée ici. Les données restent sur cette origine et cet appareil, sans transfert automatique.