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 |