Thread (Linha de Execução)

Menor unidade de execução compartilhando memória dentro de um processo.

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 (Linha de Execução)"]:::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;

      

🧠 Teste de conhecimento

1 / 1

🧒 Explique como se eu tivesse 5 anos

Imagine uma cozinha com um chef (processo). Uma thread é como as mãos do chef—elas podem cortar vegetais enquanto outra mão mexe a sopa. As duas mãos compartilham a mesma cozinha (memória)!

🤓 Expert Deep Dive

Implementações de threads: nível usuário (N:1), nível kernel (1:1), híbridas (M:N). POSIX threads fornece API padrão. GIL no CPython impede multi-threading real.

📚 Fontes