Questão de TI - Desenvolvimento de Sistemas — Programação Concorrente, Paralela e Distribuída — VUNESP 2023
TI - Desenvolvimento de SistemasProgramação Concorrente, Paralela e Distribuída
- Código
- vu196848
- Banca
- VUNESP
- Órgão
- CM Aparecida
- Ano
- 2023
- Cargo
- TInf ( )
Considere o seguinte algoritmo. 1) Criar uma lista de arquivos para download. 2) Iniciar múltiplas threads para baixar os arquivos em paralelo. 3) Cada thread faz o download de um arquivo da lista. 4) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado. 5) Exibir uma mensagem informando que todos os downloads foram concluídos. Assinale a alternativa com o algoritmo corrigido para evitar a condição de corrida, sem abrir mão do paradigma de programação concorrente.
- A1) Criar uma lista de arquivos para download. 2) Fazer o download de cada arquivo, sequencialmente. 3) Exibir uma mensagem informando que todos os downloads foram concluídos.
- B1) Criar uma lista de arquivos para download.
2) Inicializar um mutex (exclusão mútua) para controlar o acesso à lista de arquivos.
3) Iniciar múltiplas threads para baixar os arquivos em paralelo.
4) Cada thread adquire o mutex (exclusão mútua) antes de acessar a lista, seleciona um arquivo disponível e libera o mutex (exclusão mútua).
5) Cada thread faz o download de um arquivo da lista.
6) Após o download, a thread adquire o mutex (exclusão mútua) novamente e atualiza a lista, marcando que o download foi efetuado, e então libera o mutex (exclusão mútua).
7) Exibir uma mensagem informando que todos os downloads foram concluídos. - C1) Criar uma lista de arquivos para download.
2) Verificar se existe conexão com a Internet.
3) Iniciar múltiplas threads para baixar os arquivos em paralelo.
4) Cada thread faz o download de um arquivo da lista.
5) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado.
6) Exibir uma mensagem informando que todos os downloads foram concluídos. - D1) Criar uma lista de arquivos para download.
2) Iniciar múltiplas threads para baixar os arquivos em paralelo.
3) Verificar se o arquivo existe.
4) Cada thread faz o download de um arquivo da lista.
5) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado.
6) Exibir uma mensagem informando que todos os downloads foram concluídos. - E1) Criar uma lista de arquivos para download.
2) Iniciar múltiplas threads para baixar os arquivos em paralelo.
3) Verificar se o existe espaço disponível para o download.
4) Cada thread faz o download de um arquivo da lista.
5) Ao final de cada download, atualizar a lista de arquivos marcando que o download foi efetuado.
6) Exibir uma mensagem informando que todos os downloads foram concluídos.