Sobes.tech
Junior

Qual é a diferença entre um processo e uma thread?

sobes.tech IA

Resposta da IA

O processo é uma instância de um programa em execução, tendo o seu próprio espaço de endereçamento dedicado, recursos (descritores de ficheiros, sockets, etc.) e pelo menos um thread de execução.

O thread é a unidade de execução dentro de um processo. Vários threads podem existir num mesmo processo, partilhando os seus recursos e espaço de endereçamento.

Característica Processo Thread
Espaço de endereçamento Próprio, isolado Partilhado com outros threads do processo
Recursos Próprios (descritores de ficheiros, sockets) Partilhados com outros threads do processo
Criação Requer mais recursos, mais lento Requer menos recursos, mais rápido
Troca de contexto Requer mais tempo, troca tudo Requer menos tempo, troca apenas os registos e a pilha
Isolamento Alto: erro num não afeta os outros Baixo: erro num pode afetar os outros