Carregando...
Carregando...
Ajude a melhorar a plataforma
Na construção de sistemas distribuídos, a decisão entre adotar uma abordagem de programação paralela ou concorrente é essencial e tem implicações significativas no design, na eficiência e na escalabilidade do sistema. A programação paralela foca no uso simultâneo de recursos computacionais para acelerar a execução de tarefas, ideal para operações que podem ser divididas em sub-operações independentes. Já a programação concorrente lida com a execução de múltiplas tarefas ao mesmo tempo, em ambientes onde as tarefas podem compartilhar recursos, exigindo gerenciamento cuidadoso de acesso para evitar conflitos e garantir a consistência dos dados.
Neste contexto, sobre a programação paralela e concorrente em sistemas distribuídos, observe as afirmativas a seguir:
I. A programação paralela é sempre a escolha preferencial para sistemas distribuídos, pois maximiza a utilização dos recursos disponíveis.
II. A programação concorrente é adequada para aplicações em que tarefas interagem com recursos compartilhados, requerendo mecanismos eficazes de sincronização.
III. Sistemas construídos com programação paralela não exigem considerações de sincronização, já que as tarefas executadas são completamente independentes.
IV. A adoção da programação concorrente pode introduzir desafios adicionais em termos de complexidade do código e potenciais condições de corrida que devem ser gerenciadas.
V. A escolha entre programação paralela e concorrente não tem impacto significativo na escalabilidade do sistema ou na facilidade de manutenção do código.
É correto o que se afirma em:
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
🎓 Gabarito Comentado (AVA):
A afirmativa I é incorreta, pois a programação paralela não é sempre a escolha preferencial para todos os tipos de sistemas distribuídos; a decisão depende das necessidades específicas da aplicação e do tipo de tarefas a serem executadas.
A afirmativa II é correta, pois a programação concorrente é de fato mais adequada para cenários em que múltiplas tarefas precisam acessar e interagir com recursos compartilhados. Isso exige mecanismos de sincronização robustos para evitar conflitos e garantir a consistência dos dados.
A afirmativa III é incorreta, pois mesmo na programação paralela podem existir necessidades de sincronização, especialmente quando diferentes partes do trabalho paralelo precisam se combinar ou quando há algum nível de dependência entre as tarefas.
A afirmativa IV é correta, pois destaca que a programação concorrente pode introduzir desafios como complexidade adicional no gerenciamento de threads e no código, além do risco de condições de corrida, exigindo cuidados extras para garantir a segurança e a eficiência do sistema.
A afirmativa V é incorreta, pois a escolha entre programação paralela e concorrente tem um impacto significativo tanto na escalabilidade do sistema quanto na manutenção do código, influenciando como os recursos são gerenciados e como o sistema pode crescer e se adaptar a novas demandas.