fluxo de controle dentro de um processo (linha de execução)
possui um inicio e um fim, como um programa em sequência
permite paralelismo → permite utilizar vários cores
permite que o programa seja responsivo → faz com que outras tarefas
continuem em execução
Pode ajudar a simplificar o código, dividindo-o em partes menores e
independentes
pode usar memória compartilhada para trocada de informações e etc
pode haver conexão inter-threads (usando memória compartilhada e
mecanismos de sincronia)
representa a execução de um programa também
menor unidade agendavel de um processo
todos os threads dentro de um processo compartilham dos mesmo
recursos do processo
executado a partir de um processo
mais leve e eficiente que processos, já que compartilha recursos ao
invés de pedir novos
contexto é menor, já que utiliza apenas parte do contexto do
processo em si
Troca de contexto é mais rápida e eficiente
criação é mais rápida
contexto é composto por → conjunto de registradores, pilha, PC,
ponteiro para tabela de processos, ponteiro para arquivos, etc.
Apenas o especifico para cada tarefa de cada thread