• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

port

Threads/ Processos

4 mensagens neste tópico

Bom dia,

tou com algumas duvidas relativamente a esta questão:

Ao iniciar um programa, tenho um processo, ou um processo e uma thread? E' que se lançar uma outra thread dentro do processo, e recorrendo ao GDB, diz me que tenho 2 threads :|

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens um processo e uma thread. Podes pensar no processo como um "aglomerador de threads": o processo só por si não executa nada, tem que ter pelo menos uma thread (a principal, que é automaticamente criada e é onde se executa a função main) para executar código.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens um processo e uma thread. Podes pensar no processo como um "aglomerador de threads": o processo só por si não executa nada, tem que ter pelo menos uma thread (a principal, que é automaticamente criada e é onde se executa a função main) para executar código.

O conceito evoluiu ao longo do tempo. Inicialmente só havia o conceito de processo, e portanto um "fio de execução" estava incluindo no próprio conceito de processo. Depois vieram as threads e então houve uma separação de processo e thread.

As threads surgiram porque são "processos mais leves" - a comutação entre "processos" é mais rápida - uma vez que não há uma separação rigida de espaços de memória entre threads (no sentido de possibilidade de acesso) nem, muitas vezes, a necessidade de efectuar chamadas ao kernel para a sua gestão. As threads dentro de um processo partilham tudo menos a pilha; os processos não partilham nada entre si (a não ser o óbvio, como o(s) CPU(s), e mesmo assim não é sempre garantido). Por isso uma thread pode crashar um processo (levando todas as threads do processo atrás) mas um processo não pode crashar outros.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora