← Todos os termos

Sistemas operacionais

Thread

Thread é uma sequência de execução dentro de um processo. Threads de um mesmo processo podem compartilhar memória e recursos, mas têm estado de execução próprio. Essa organização permite concorrência e, em condições adequadas, paralelismo.

Escrito pela equipe Compuzilla

Publicado em . Atualizado em .

Também chamado de: linha de execução

Neste verbete
Compuzilla sorrindo ao lado de um diagrama: Thread.

Thread

  1. Processo
  2. Threads com estado próprio
  3. Recursos compartilhados
As threads pertencem ao processo; compartilhar dados exige coordenação. Ilustração: equipe Compuzilla.

Dividir atividades

Um aplicativo pode manter uma atividade esperando dados da rede enquanto outra trata trabalho disponível. Threads permitem organizar sequências que avançam de forma concorrente. O sistema e o ambiente da linguagem determinam como elas recebem tempo de execução.

Concorrência significa lidar com atividades em andamento; paralelismo significa executar trabalho ao mesmo tempo. Uma coisa não garante a outra.

Compartilhar exige coordenação

Se duas threads alteram o mesmo dado sem coordenação, o resultado pode depender da ordem das operações. Mecanismos de sincronização ajudam a organizar esse acesso. Cada thread também precisa de estado próprio para saber qual operação executar depois.

Criar mais threads não acelera automaticamente o programa. Esperas, disputa por recursos e regras do interpretador podem limitar o ganho. A documentação de Python mostra tanto o uso de threads para esperas de entrada e saída quanto limites específicos de algumas implementações.

Próxima leitura

Compare com processo para entender o conjunto que reúne essas sequências.

Na prática

  • Uma thread pode aguardar uma resposta da rede enquanto outra atividade do aplicativo trata eventos.

Continue aprendendo

  • Verbete Processo — Processo é uma execução de programa com recursos e estado administrados pelo sistema operacional. Pode ter memória, arquivos abertos e uma ou mais threads. O arquivo do programa e o processo que o executa são coisas diferentes.
  • Verbete CPU — A CPU é a parte do computador que executa instruções de programas, como calcular, comparar valores e movimentar dados. Ela trabalha com a memória e outros componentes para realizar as tarefas.
  • Guia Programa, processo e thread: qual a diferença? — Programa descreve instruções; processo é uma execução com recursos administrados pelo sistema; thread é uma sequência de execução dentro dele. Essa distinção explica por que um aplicativo pode aparecer várias vezes nas ferramentas do sistema.

Fontes para aprofundar