-
I. As threads dentro de um processo são protegidas umas das outras. - Threads são independentes, mas não são protegidas, elas compartilham recursos.
II. Criar uma nova thread dentro de um processo existente é computacionalmente oneroso em relação a criar um processo. - As threads também são chamadas de 'processos leves'.
III. As threads dentro de um processo podem compartilhar dados e outros recursos convenientes e eficientemente, em comparação a processos distintos.
IV. O chaveamento para uma thread diferente dentro de um mesmo processo é menos oneroso do que chavear entre threads pertencentes a processos diferentes.
Gabarito D
-
I - Threads permitem múltiplos threads de controle dentro de um processo, mas não fazem nada para proteger um thread do outro
II - Como threads têm algumas das propriedades dos processos, às vezes eles são chamados de processos leves.
III - Um thread compartilha, com outros threads pertencentes ao mesmo processo, sua seção de código, a seção de dados e outros recursos do sistema operacional, como arquivos abertos e sinais.
IV - Se um dos processos precisa ler uma palavra da memória (o que leva muitos ciclos de relógio), uma CPU multithread pode simplesmente fazer o chaveamento para outro thread. O multithreading não proporciona paralelismo real. Apenas um processo de cada vez é executado, mas o tempo de chaveamento de thread é reduzido para a ordem de um nanossegundo.
Tanenbaum
-
Thread é a tarefa que um determinado programa realiza. Thread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrencialmente.
-
Gabarito D
Um ambiente de execução e as threads pertencentes a ele são associados às páginas pertencentes ao espaço de endereçamento mantido na memória principal, e os dados e instruções são mantidos em caches em hardware
Podemos fazer um resumo da comparação entre processos e threads, como segue:
• Criar uma nova thread dentro de um processo existente é computacionalmente menos oneroso do que criar um processo.
• O chaveamento para uma thread diferente dentro de um mesmo processo é menos oneroso do que chavear entre threads pertencentes a processos diferentes.
• As threads dentro de um processo podem compartilhar dados e outros recursos conveniente e eficientemente, em comparação a processos distintos.
• Porém, além disso, as threads dentro de um processo não são protegidas umas das outras.
FONTE: Sistemas Distribuídos - 5ed: Conceitos e Projeto