Академический Документы
Профессиональный Документы
Культура Документы
Lista 04 – Threads
Os ambientes monothreads operam apenas com um única thread por processo e isso
provoca uma queda no desempenho de certa forma devido a necessidade de utilizar vários
processos e sub processos e alocar recursos para cada um deles, ao contrário dos ambientes
multithreads, que compartilham seu espaço de endereçamento com inúmeras threads. Em
ambientes cliente-servidor threads são essenciais para solicitações de serviços remotos,
como um programa GUI interativo, como um depurador em que uma thread é usada para
monitorar a entrada do usuário, outra thread representa a aplicação em execução e uma
terceira thread monitora o desempenho, ou um servidor Web que atende a cada requisição
em uma thread separada. Mas, qualquer tipo de programa sequencial não é um bom
candidato para usar multithreads, um exemplo disso é um programa para calcular a
devolução de imposto de renda individual. Outro exemplo é um programa de “shell”, como
o C-shell ou o Korn shell. Esse tipo de programa precisa monitorar de perto seu próprio
espaço de trabalho, como arquivos abertos, variáveis de ambiente e diretório de trabalho
atual.
Para obter os benefícios do uso de threads, uma aplicação deve permitir que partes
diferentes do seu código sejam executadas em paralelo de formam independente. O uso de
uma arquitetura com múltiplos processadores beneficia a concorrência entre as threads com
a possibilidade do paralelismo de execução entre processadores
6 - Por que uma aplicação de software escrita para threads de núcleo é menos portável
do que um software escrito para threads de usuário? Explique.
7 - Em que cenários (ou situações) threads de núcleo são mais eficientes do que
threads de usuário?
Porque o sistema de muitos para um, utiliza o método de threads de modo usuário, que não
identifica a utilização de múltiplas threads identifica apenas o processo, ou seja, quando
uma thread no modo usuário sofre um bloqueio, logo será bloqueado o todo o processo.