Dois programas precisam escrever no mesmo arquivo de placar. Qual ação evita que eles escrevam juntos e causem…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar o comportamento dos algoritmos no que diz respeito ao consumo de recursos como tempo de execução, espaço de memória e energia, entre outros.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Dois programas precisam escrever no mesmo arquivo de placar. Qual ação evita que eles escrevam juntos e causem erro?
- A) Usar um cadeado antes de escrever.
- B) Fechar o arquivo depois de escrever.
- C) Esperar cinco segundos antes de escrever.
- D) Apagar o arquivo antes de escrever.
- E) Deixar os dois escreverem ao mesmo tempo.
✅ Resposta correta: alternativa A
Resolução passo a passo
- O problema descreve dois programas que tentam escrever no mesmo arquivo ao mesmo tempo. Isso é uma condição de corrida: as escritas podem se misturar e corromper o conteúdo do placar.
- Para evitar isso, é preciso garantir acesso exclusivo ao recurso enquanto um dos programas escreve. O mecanismo adequado é um bloqueio de acesso, um 'cadeado' (lock), que só permite a um processo escrever por vez; o outro espera até o cadeado ser liberado.
- Por que as outras estão erradas:
- B) Fechar o arquivo depois de escrever não impede que o outro programa escreva no mesmo momento, pois o problema acontece durante a escrita.
- C) Esperar cinco segundos é um atraso arbitrário; não garante que as escritas não se sobreponham, pois os tempos podem variar.
- D) Apagar o arquivo antes de escrever destrói o placar existente e não resolve a disputa pelo acesso.
- E) Deixar os dois escreverem ao mesmo tempo é justamente a causa do erro descrito na questão.
- Conclusão: a alternativa correta é a A, de acordo com o gabarito oficial.
💡 Dica: Considere as técnicas de sincronização em programação multithread.
Alternativa por alternativa
O cadeado, chamado mutex ou lock, deixa apenas um programa escrever por vez. Assim, os programas não disputam o mesmo arquivo.
O aluno pensa que o problema está em manter o arquivo aberto, e que fechá-lo após a escrita organiza o acesso entre os programas.
O aluno acredita que um intervalo fixo de tempo evita a sobreposição, sem perceber que a duração das operações é imprevisível.
O aluno confunde a organização do acesso concorrente com a limpeza do conteúdo, achando que começar com o arquivo vazio resolve o conflito.
Por que engana: Escolher a alternativa que sugere o uso de variáveis globais, acreditando que elas resolvem automaticamente a sincronização entre threads.
O aluno não reconhece que escritas simultâneas no mesmo arquivo são exatamente a origem da corrupção de dados descrita no enunciado.
Raio-X da questão
sincronização de threads
avaliacao
sincronização de threads · condição de corrida
Revisar técnicas de sincronização em programação multithread.
Escolher a alternativa que sugere o uso de variáveis globais, acreditando que elas resolvem automaticamente a sincronização entre threads.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Um sistema portátil registra a corrente gerada em um eletrodo de trabalho durante um pulso de 4 segundos. Para comparar…
- Em um protótipo computacional que monitora a salinidade de um tanque, dois eletrodos ficam imersos na água e são usados…
- Em uma lavanderia, uma pessoa instala dois eletrodos próximos ao piso, ligados a uma entrada digital de um controlador…
- Em uma demonstração de interface cérebro-computador, eletrodos colocados sobre o couro cabeludo captam sinais elétricos…
- Em um protótipo de interface computacional controlada por sinais musculares, cada canal utiliza um eletrodo para captar…
- Em uma prótese controlada por sinais musculares, eletrodos na pele captam a atividade elétrica e a enviam ao sistema…
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
