Thread (Fil d'exécution)

Plus petite unité d'exécution partageant la mémoire au sein d'un processus.

A thread is a component of a process. Multiple threads can exist within the same process, sharing resources such as memory, while executing independently. Threads are 'lightweight' because context switching between them is faster than between processes since it doesn't require switching the memory context.

        graph LR
  Center["Thread (Fil d'exécution)"]:::main
  Rel_assembly_language["assembly-language"]:::related -.-> Center
  click Rel_assembly_language "/terms/assembly-language"
  Rel_cpu_cache["cpu-cache"]:::related -.-> Center
  click Rel_cpu_cache "/terms/cpu-cache"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Test de connaissances

1 / 1

🧒 Explique-moi comme si j'avais 5 ans

Imagine une cuisine avec un chef (processus). Un thread, c'est comme les mains du chef—elles peuvent couper les légumes pendant qu'une autre main remue la soupe. Les deux mains partagent la même cuisine (mémoire) !

🤓 Expert Deep Dive

Implémentations de threads : niveau utilisateur (N:1), niveau noyau (1:1), hybride (M:N). POSIX threads fournit une API standard. Le GIL en CPython empêche le vrai multi-threading.

📚 Sources