スレッド

プロセス内でメモリを共有する最小の実行単位。

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["スレッド"]:::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;

      

🧠 理解度チェック

1 / 1

🧒 5歳でもわかるように説明

一人のシェフ(プロセス)がいるキッチンを想像してください。スレッドはシェフの手のようなもの—片方の手で野菜を切りながら、もう片方の手でスープをかき混ぜられます。両手は同じキッチン(メモリ)を共有しています!

🤓 Expert Deep Dive

スレッド実装:ユーザーレベル(N:1)、カーネルレベル(1:1)、ハイブリッド(M:N)。POSIXスレッドは標準APIを提供。CPythonのGILは真のマルチスレッディングを防ぎます。

📚 出典